<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=63&amp;t=13939&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-12-20T18:45:15+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=63&amp;t=13939&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-12-20T18:45:15+01:00</updated>
<published>2015-12-20T18:45:15+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148567#p148567</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148567#p148567"/>
<title type="html"><![CDATA[Re: B4A problem z obsługą mikroprocesora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148567#p148567"><![CDATA[
<div class="quotetitle">bartek22031992 napisał(a):</div><div class="quotecontent"><br />Poprawione Panie Mirku mam tylko pytanie, jakiego syntaxu użyć dla kodu z B4A bo basic4gl nie widzę na liście.<br /></div><br />W zasadzie nie ma to aż tak dużego znaczenia - jest tam jakaś składnia Basic - wystarczy ją zastosować i po kłopocie jak widać<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 gru 2015, o 18:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bartek22031992]]></name></author>
<updated>2015-12-20T18:38:54+01:00</updated>
<published>2015-12-20T18:38:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148565#p148565</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148565#p148565"/>
<title type="html"><![CDATA[Re: B4A problem z obsługą mikroprocesora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148565#p148565"><![CDATA[
Poprawione Panie Mirku mam tylko pytanie, jakiego syntaxu użyć dla kodu z B4A bo basic4gl nie widzę na liście.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6702">bartek22031992</a> — 20 gru 2015, o 18:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sz4t4n]]></name></author>
<updated>2015-12-20T16:12:31+01:00</updated>
<published>2015-12-20T16:12:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148543#p148543</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148543#p148543"/>
<title type="html"><![CDATA[Re: B4A problem z obsługą mikroprocesora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148543#p148543"><![CDATA[
Czy czasem nie powinno to wyglądać tak?<br /><br />[syntax=basic4gl]Sub bt_up_Down<br />   If tryb=True Then<br />         ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />      Else<br />         text=(&quot;a&quot;)<br />         ast.Write(text)<br />   End If<br />   <br />End Sub<br /><br />Sub bt_down_Down<br />   If tryb=True Then<br />         ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />      Else<br />         text=(&quot;c&quot;)<br />         ast.Write(text)<br />         End If<br />         <br />End Sub<br /><br />Sub bt_up_Up<br />   If tryb=True Then<br />         ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />      Else<br />         text=(&quot;b&quot;)<br />         ast.Write(text)<br />   End If<br />   <br />   <br />End Sub<br /><br />Sub bt_down_Up<br />   If tryb=True Then<br />         ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />      Else<br />         text=(&quot;d&quot;)<br />         ast.Write(text)<br />   End If<br />   End Sub[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=377">sz4t4n</a> — 20 gru 2015, o 16:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bartek22031992]]></name></author>
<updated>2015-12-20T18:36:05+01:00</updated>
<published>2015-12-20T15:51:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148540#p148540</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148540#p148540"/>
<title type="html"><![CDATA[Re: B4A problem z obsługą mikroprocesora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148540#p148540"><![CDATA[
Witam dziękuje za zainteresowanie poniżej wklejam programy:<br /><br />Program B4A<br /><br />[syntax=java]#Region  Project Attributes <br />#ApplicationLabel: Glowica<br />#VersionCode: 1<br />#VersionName: <br />'SupportedOrientations possible values: unspecified, landscape or portrait.<br />#SupportedOrientations: portrait<br />#CanInstallToExternalStorage: False<br />#End Region<br /><br />#Region  Activity Attributes <br />#FullScreen: False<br />#IncludeTitle: True<br />#End Region<br /><br />Sub Process_Globals<br />'These global variables will be declared once when the application starts.<br />'These variables can be accessed from all modules.<br />Dim admin As BluetoothAdmin<br />Dim serial1 As Serial<br />Dim founddevices As List<br /><br />Type nameandmac (name As String, mac As String)<br />Dim connecteddevice As nameandmac<br />Dim connected As Boolean<br />Dim ast As AsyncStreamsText<br />Dim tryb As Boolean<br />Dim text As String<br /><br />End Sub<br /><br />Sub Globals<br />'These global variables will be redeclared each time the activity is created.<br />'These variables can only be accessed from this module.<br /><br />Private bt_panorama As RadioButton<br />Private bt_sphere As RadioButton<br />Private bt_up As Button<br />Private bt_left As Button<br />Private bt_start As Button<br />Private bt_right As Button<br />Private bt_down As Button<br />Private bt_connect As Button<br />Private bt_send As Button<br />Private bt_disconnect As Button<br />End Sub<br /><br />Sub Activity_Create(FirstTime As Boolean)<br />'Do not forget to load the layout file created with the visual designer. For example:<br />Activity.LoadLayout(&quot;sgs2&quot;)<br />Activity.Title=&quot;Glowica(brak połączenia)&quot;<br />bt_panorama_CheckedChange(True)<br /><br />If FirstTime Then<br />connected=False<br />admin.Initialize(&quot;admin&quot;)<br />serial1.Initialize(&quot;serial&quot;)<br />End If<br /><br />enable_controls(connected)<br /><br />End Sub<br /><br />Sub Activity_Resume<br />If admin.IsEnabled =False Then<br />If admin.Enable=False Then<br />ToastMessageShow(&quot;Nie udało się włączyć bluetooth&quot;,True)<br />Else<br />ToastMessageShow(&quot;Włączam moduł bluetooth........&quot;,True)<br />End If<br /><br /><br />Else<br />admin_StateChanged(admin.STATE_ON,0)<br /><br />End If<br /><br /><br /><br />End Sub<br /><br />Sub Activity_Pause (UserClosed As Boolean)<br />If UserClosed Then<br />ast.Close<br />Activity.Finish<br />ExitApplication<br />End If<br />End Sub<br />'*********************************************************************************************<br />'-------------------------------bluetooth----------------------------------------<br /><br />Sub admin_StateChanged (NewState As Int, OldState As Int)<br /><br />End Sub<br /><br />Sub admin_DiscoveryFinished<br />ProgressDialogHide<br />If founddevices.Size=0 Then<br />ToastMessageShow(&quot;Nie znaleziono urządzeń&quot;,True)<br />Else<br />Dim IL As List<br />IL.Initialize<br />For i=0 To founddevices.Size-1<br />Dim nm As nameandmac<br />nm=founddevices.Get(i)<br />IL.Add(nm.name)<br /><br />Next<br />Dim res As Int<br />res=InputList(IL,&quot;Wybierz urządzenie&quot;,-1)<br />If res &lt;&gt; DialogResponse.CANCEL Then<br />connecteddevice=founddevices.Get(res)<br /><br />serial1.Connect(connecteddevice.mac)<br />ProgressDialogShow(&quot;Próba połączenia z: &quot;&amp;CRLF&amp; connecteddevice.name)<br />End If<br /><br />End If<br /><br />End Sub<br /><br />Sub admin_DeviceFound (Name As String, MacAddress As String)<br />Dim nm As nameandmac<br />nm.name= Name<br />nm.mac= MacAddress<br />founddevices.Add(nm)<br />ProgressDialogShow(&quot;Poszukiwanie urządzeń (znaleziono @)...&quot;.Replace(&quot;@&quot;, founddevices.Size))<br /><br />End Sub<br /><br /><br /><br /><br />Sub serial_Connected (Success As Boolean)<br />ProgressDialogHide<br /><br />If Success Then<br />ToastMessageShow(&quot;Połączono pomyślnie&quot;,False)<br />connected=True<br /><br />If ast.IsInitialized Then ast.Close<br />ast.Initialize( Me, &quot;ast&quot;, serial1.InputStream, serial1.OutputStream )<br />Else<br />ToastMessageShow(&quot;Połączenia nieudane&quot;,False)<br />connected=False<br />End If<br /><br />enable_controls(connected)<br /><br />End Sub<br /><br />Sub ast_Error<br />ToastMessageShow( &quot;Błąd strumienia: &quot;&amp; LastException.Message, True )<br />End Sub<br /><br />Sub ast_Terminated<br />ToastMessageShow( &quot;Połączenie zerwane!&quot;, True )<br />End Sub<br /><br /><br /><br /><br /><br />'--------------------------funkcje użytkowe------------------------------------------------------<br />Sub enable_controls(onoff As Boolean)<br />bt_panorama.Enabled=onoff<br />bt_sphere.Enabled=onoff<br />bt_up.Enabled=onoff<br />bt_left.Enabled=onoff<br />bt_start.Enabled=onoff<br />bt_right.Enabled=onoff<br />bt_down.Enabled=onoff<br /><br />bt_send.Enabled= Not (onoff)<br />bt_connect.Enabled= Not (onoff)<br />bt_disconnect.Enabled=onoff<br /><br />If onoff=True Then<br />Activity.Title = &quot;Glowica(połączono)&quot;<br />bt_panorama.TextColor= Colors.White<br />bt_sphere.TextColor= Colors.White<br />bt_up.TextColor=Colors.White<br />bt_left.TextColor=Colors.White<br />bt_start.TextColor=Colors.White<br />bt_right.TextColor=Colors.White<br />bt_down.TextColor=Colors.White<br />bt_send.TextColor=Colors.Gray<br />bt_connect.TextColor=Colors.Gray<br />bt_disconnect.TextColor=Colors.White<br /><br />Else<br />Activity.Title = &quot;Glowica(brak połączenia)&quot;<br />bt_panorama.TextColor= Colors.Gray<br />bt_sphere.TextColor= Colors.Gray<br />bt_up.TextColor=Colors.Gray<br />bt_left.TextColor=Colors.Gray<br />bt_start.TextColor=Colors.Gray<br />bt_right.TextColor=Colors.Gray<br />bt_down.TextColor=Colors.Gray<br />bt_send.TextColor=Colors.White<br />bt_connect.TextColor=Colors.White<br />bt_disconnect.TextColor=Colors.Gray<br /><br />End If<br /><br /><br /><br />End Sub<br /><br /><br /><br /><br /><br /><br /><br />'------------------------------obsługa klawiszy-------------------------------------<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Sub bt_start_Click<br />If tryb=True Then<br />ast.Write(&quot;i&quot; &amp; Chr(13) &amp; Chr(10))<br />ProgressDialogShow(&quot;Wykonywanie panoramy&quot;)<br />End If<br /><br />If tryb=False Then<br />ast.Write(&quot;j&quot;&amp; Chr(13) &amp; Chr(10))<br />ProgressDialogShow(&quot;Wykonywanie sfery&quot;)<br /><br />End If<br />End Sub<br /><br /><br /><br />Sub bt_connect_Click<br />Dim pairedDevices As Map<br />pairedDevices = serial1.GetPairedDevices<br />Dim IL As List<br />IL.Initialize<br />For i=0 To pairedDevices.Size - 1<br />IL.Add( pairedDevices.GetKeyAt( i ) )<br />Next<br />Dim res As Int<br />res = InputList( IL, &quot;Wybierz urządzenie&quot;, -1 )<br />If res &lt;&gt; DialogResponse.CANCEL Then<br />serial1.Connect( pairedDevices.Get( IL.Get( res ) ) )<br />End If<br />End Sub<br /><br />Sub bt_send_Click<br />founddevices.Initialize<br />If admin.StartDiscovery=False Then<br />ToastMessageShow(&quot;Błąd w wyszukiwaniu urządzeń !!&quot;,True)<br />Else<br />ToastMessageShow(&quot;Wyszukiwanie urządzeń....&quot;,True)<br />End If<br />End Sub<br /><br />Sub bt_disconnect_Click<br />serial1.Disconnect<br />ast.close<br />connected = False<br />enable_controls( False )<br /><br />End Sub<br /><br /><br /><br /><br />Sub bt_panorama_CheckedChange(Checked As Boolean)<br />If Checked=True Then <br />tryb=True<br />End If<br />End Sub<br /><br />Sub bt_sphere_CheckedChange(Checked As Boolean)<br />If Checked=True Then<br />tryb=False<br />End If<br /><br />End Sub<br /><br /><br /><br /><br /><br /><br /><br /><br />Sub bt_up_Down<br />If tryb=True Then<br />ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />Else<br />text=(&quot;b&quot;)<br />ast.Write(text)<br />End If<br /><br />End Sub<br /><br />Sub bt_down_Down<br />If tryb=True Then<br />ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />Else<br />text=(&quot;d&quot;)<br />ast.Write(text)<br />End If<br /><br />End Sub<br /><br />Sub bt_up_Click<br />If tryb=True Then<br />ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />Else<br />text=(&quot;a&quot;)<br />ast.Write(text)<br />End If<br /><br /><br />End Sub<br /><br />Sub bt_down_Click<br />If tryb=True Then<br />ToastMessageShow(&quot;Nie można zmieniać położenia osi w tym trybie&quot;,False)<br />Else<br />text=(&quot;c&quot;)<br />ast.Write(text)<br />End If<br />End Sub[/syntax]<br />Program nie dokończony c<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;stdio.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />volatile uint8_t dir;<br />volatile uint8_t wychodzace;<br /><br />#define LED1 (1&lt;&lt;PA2)<br />#define LED2 (1&lt;&lt;PA1)<br />#define LED1_ON PORTA |= LED1<br />#define LED1_OFF PORTA &amp;=~LED1<br />#define LED2_ON PORTA |=LED2<br />#define LED2_OFF PORTA &amp;=~LED2<br />//-----------------------------------------------------------------------------------------------------------------------<br />#define B11 (1&lt;&lt;PC0)//definicja portów silnika 1<br />#define A11 (1&lt;&lt;PC1)<br />#define A21 (1&lt;&lt;PC2)<br />#define B21 (1&lt;&lt;PC3)<br />//------------------------------------------------------------------------------------------------------------------------<br />#define B12 (1&lt;&lt;PC4)//definicja portów silnika 2<br />#define A12 (1&lt;&lt;PC5)<br />#define A22 (1&lt;&lt;PC6)<br />#define B22 (1&lt;&lt;PC7)<br />//------------------------------------------------------------------------------------------------------------------------<br /><br />#define KROK11 PORTC |=A11|B11; PORTC &amp;=~(A21|B21)<br />#define KROK21 PORTC |=A21|B11; PORTC &amp;=~(A11|B21)<br />#define KROK31 PORTC |=A21|B21; PORTC &amp;=~(A11|B11)<br />#define KROK41 PORTC |=A11|B21; PORTC &amp;=~(A21|B11)<br /><br />#define KROK12 PORTC |=A12|B12; PORTC &amp;=~(A22|B22)<br />#define KROK22 PORTC |=A22|B12; PORTC &amp;=~(A12|B22)<br />#define KROK32 PORTC |=A22|B22; PORTC &amp;=~(A12|B12)<br />#define KROK42 PORTC |=A12|B22; PORTC &amp;=~(A22|B12)<br /><br /><br />static void silnik1_stop(void);<br />static void kroki1_lewo(void);<br />satic void kroki1_prawo(void);<br /><br />static void silnik2_stop(void);<br />static void kroki2_lewo(void);<br />static void kroki2_prawo(void);<br /><br />enum edir {lewo,prawo,stop};<br />enum edir kier=stop;<br /><br /><br />static void silnik1_stop(void){<br />PORTC &amp;=~(A11|B11|A21|B21);<br /><br />}<br /><br />static void silnik2_stop(void){<br />PORTC &amp;=~(A12|B12|A22|B22);<br /><br />}<br /><br />static void kroki1_lewo(void){<br /><br />}<br />static void kroki1_prawo(void){<br /><br />}<br />static void kroki2_lewo(void){<br /><br />}<br />static void kroki2_prawo(void){<br /><br />}<br />void USART_Init(void)<br />{<br />//definiowanie parametrów transmisji za pomocą makr zawartych w pliku<br /> //nagłówkowym setbaud.h. Jeżeli wybierzesz prędkość, która nie będzie<br /> //możliwa do realizacji otrzymasz ostrzeżenie:<br /> //#warning &quot;Baud rate achieved is higher than allowed&quot;<br /><br /> #define BAUD 9600        <br /> #include &lt;util/setbaud.h&gt;<br />                           <br /><br /><br /> UBRRH = UBRRH_VALUE;<br /> UBRRL = UBRRL_VALUE;<br /> #if USE_2X<br />   UCSRA |=  (1&lt;&lt;U2X);<br /> #else<br />   UCSRA &amp;= ~(1&lt;&lt;U2X);<br /> #endif<br /><br /><br /><br /> UCSRC = (1&lt;&lt;URSEL) | (1&lt;&lt;UCSZ1) | (1&lt;&lt;UCSZ0);                                                  <br /> UCSRB = (1&lt;&lt;TXEN) | (1&lt;&lt;RXEN) | (1&lt;&lt;RXCIE);<br /><br />}<br /><br />void USART_Transmit(void)   <br />{<br />while (!(UCSRA &amp; (1&lt;&lt;UDRE)));<br /> UDR= wychodzace;<br />}<br /><br />void move(volatile uint8_t dir)  <br />{<br /> switch(dir)<br /> {<br />  case 97:<br />  LED1_ON;<br />    break;<br /><br />  case 98:<br />  LED1_OFF;<br />    break;<br /><br />  case 99:<br />  LED2_ON;<br />    break;<br /><br />  case 100:<br />  LED2_OFF;<br />    break;<br /><br /><br /><br /> }<br />}<br /><br /><br /><br />void init()  <br />{<br /><br /> /* USTAWIANIE WYJŚĆ */<br /> DDRA |= (1&lt;&lt;PA2)|(1&lt;&lt;PA1);<br /> PORTA =0b00000000;<br /><br /><br /><br />}<br /><br /><br /><br />int main(void)<br />{<br /> volatile uint8_t dir;<br /><br /><br /> init();  // inicjalizacja<br /> USART_Init(); // inicjalizacja usarta<br /> while(1){<br />  dir=UDR;<br />  move(dir);<br /><br /><br />}<br /><br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6702">bartek22031992</a> — 20 gru 2015, o 15:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sz4t4n]]></name></author>
<updated>2015-12-20T12:35:23+01:00</updated>
<published>2015-12-20T12:35:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148527#p148527</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148527#p148527"/>
<title type="html"><![CDATA[Re: B4A problem z obsługą mikroprocesora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148527#p148527"><![CDATA[
Cześć,<br /><br />pokaż więcej kodu.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=377">sz4t4n</a> — 20 gru 2015, o 12:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bartek22031992]]></name></author>
<updated>2015-12-20T18:37:19+01:00</updated>
<published>2015-12-20T12:13:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148519#p148519</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148519#p148519"/>
<title type="html"><![CDATA[B4A problem z obsługą mikroprocesora]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13939&amp;p=148519#p148519"><![CDATA[
Witam szanownych forumowiczów.<br />Otóż mam następujący problem aplikacja którą napisałem nie działa w sposób prawidłowy w połączeniu z modułem HC-05 i mikrokontrolerem atmega 16. <br />W samej aplikacji do obsługi klawisza używam dwóch poleceń <br /><br />[syntax=java]sub klawisz_Click<br /><br />ast.write(&quot;a&quot;)<br /><br />end sub<br /><br />sub klawisz_down<br /><br />ast.write(&quot;b&quot;)<br /><br />end sub[/syntax]<br />Natomiast w aplikacji na mikroprocesor obsługuje odebrane dane za pomocą funkcji &quot;switch&quot; i wygląda to tak:<br /><br />[syntax=c]case kod ascii litery a;<br />LED1_ON;<br />break;<br /><br /><br />case kod ascii litery b;<br />LED1_OFF;<br />break;<br /><br />W taki sam sposób mam napisaną obsługę drugiego klawisza z tym że korzystam z liter &quot;c&quot; i &quot;d&quot;[/syntax]Moi zamiarem było uzyskać efekt taki że dioda świeci tak długo jak wciśnięty jest klawisz na ekranie puszczenie go powoduje wyłączenie diody <br />Problemem jest fakt że gdy wciskam jeden klawisz i puszce wszystko jest ok natomiast gdy próbuję użyć drugiego klawisza to dioda 1 się załącza a druga działa poprawnie i to samo gdy wciskam klawisz 1 to dioda 2 się załącza a 1 działa poprawnie. Dodam że gdy oprócz znaku wyśle znak końca lini to w momencie wciśnięcia klawisza aplikacja zostaje zatrzymana i się wyłącza. <br /><br />Bardzo proszę o pomoc i z góry dziękuję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6702">bartek22031992</a> — 20 gru 2015, o 12:13</p><hr />
]]></content>
</entry>
</feed>