<?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=14555&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-02-23T19:53:13+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=63&amp;t=14555&amp;mode</id>
<entry>
<author><name><![CDATA[dzodzoTS]]></name></author>
<updated>2016-02-23T19:53:13+01:00</updated>
<published>2016-02-23T19:53:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14555&amp;p=154521#p154521</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14555&amp;p=154521#p154521"/>
<title type="html"><![CDATA[Re: B4a - komunkacja i odbiór danych z modułem Bluetooth]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14555&amp;p=154521#p154521"><![CDATA[
Czyli ta funkcja odpada , ponieważ ona odczytuje dane z pliku , a ja pliku nie posiadam .<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12818">dzodzoTS</a> — 23 lut 2016, o 19:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dzodzoTS]]></name></author>
<updated>2016-02-16T22:45:54+01:00</updated>
<published>2016-02-16T22:45:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14555&amp;p=153872#p153872</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14555&amp;p=153872#p153872"/>
<title type="html"><![CDATA[B4a - komunkacja i odbiór danych z modułem Bluetooth]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14555&amp;p=153872#p153872"><![CDATA[
Witam Forumowiczów ,<br /><br />Zacznę od omówienia mojego problemu , mianowicie wykorzystuję uP Atxmega  128A3U-AU  jako przetwornika ADC -  zakres napięć  0- 1 V , przetworzone napięcie trafia do modułu Bluetooth XM-15 , który komunikuje się z Androidem , gdzie potrzebuję wyświetlić owe napięcie. Po sparowaniu modułu i uruchomieniu terminalu na komputerze , wszystko działa , dostaje przetworzone wartości po enterze w UTF-8 np:<br /><br />70<br />72<br /><br /> . Poniżej prześlę wszystkie kody . Po napisaniu aplikacji na androida , telefon paruje się z modułem , wyświetla nazwę oraz adres urządzenia , próbując wyświetlić wynik w Label5 , po naciśnięciu  button2 aplikacja wyłącza się ....proszę o podpowiedź co robię nie tak , w programie mam podkreślenie :<br /><br /><a href="https://obrazkiforum.atnel.pl/12818/8aa51c4c0f6f15dcacd07486943e9cb9.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12818/8aa51c4c0f6f15dcacd07486943e9cb9.png" alt="Obrazek" /></a><br /><br />próbowałem inicjalizacji na różne sposoby ale nie poradziłem sobie<br /><br />co do bibliotek to aktywne: AndroidResorcues ; Core; Phone; Serial; TTS ; RandomAccesFile<br /><br /><br />Kod uP:<br /><br />[syntax=c]#define F_CPU 2000000UL<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &quot;usart.h&quot;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdio.h&gt;<br /><br />void itoa(int __val, char *__s, int __radix);<br /><br />void USART_init()<br />{<br />    PORTC_OUTSET=PIN3_bm;<br />    PORTC_DIRSET=PIN3_bm;                          //Pin TxD musi być wyjściem<br />    USARTC0.CTRLB=USART_TXEN_bm | USART_RXEN_bm;   //Włącz nadajnik USART<br />    USARTC0.CTRLC=USART_CHSIZE_8BIT_gc;            //Ramka 8 bitów, bez parzystości, 1 bit stopu<br />    usart_set_baudrate(&amp;USARTC0, 9600, F_CPU);<br />}<br /><br />void ADCA_init()<br />{<br />    PORTA.DIR = 0x00;<br />    ADCA.CTRLB = ADC_RESOLUTION_12BIT_gc;<br />    ADCA.CTRLB = (1&lt;&lt;4);<br />    ADCA.REFCTRL = ADC_REFSEL_INT1V_gc;<br />    ADCA.PRESCALER = ADC_PRESCALER_DIV512_gc;<br />    ADCA.CTRLA = ADC_ENABLE_bm;<br />}<br /><br />unsigned int ADCA_Conversion(ADC_CH_t *Channel, char Pin)<br />{<br />    Channel-&gt;CTRL = ADC_CH_INPUTMODE_SINGLEENDED_gc;<br />    Channel-&gt;MUXCTRL = (Pin &lt;&lt; 3);<br />    Channel-&gt;CTRL |= ADC_CH_START_bm;<br />    <br />    while(!Channel-&gt;INTFLAGS);<br />    return Channel-&gt;RES;<br />}<br /><br />int main(void)<br />{<br />    unsigned int ADC_Value;<br />    char Wynik&#91;10&#93;;<br />    <br />    USART_init();<br />    ADCA_init();<br />    <br />    USART_send_F(&amp;USARTC0, PSTR(&quot;Miernik Gazu CO\n\r&quot;));<br />    <br />    while(1)<br />    {<br />        ADC_Value = ADCA_Conversion(&amp;(ADCA.CH0),0) + 30;<br />        <br />        itoa(ADC_Value, Wynik, 10);<br />        USART_send(&amp;USARTC0, Wynik);<br />        USART_send_F(&amp;USARTC0, PSTR(&quot;\n\r&quot;));<br />        <br />        _delay_ms(1000);<br />    }<br />}[/syntax]<br /><br />Z pomiarów analogowych i przeliczeniu przetworzonych wszystko jest ok ...<br /><br />Kod aplikacji: <br /><br />[syntax=basic4gl]Sub Process_Globals<br /><br />Dim Adapter As Serial<br />Dim Timer1 As Timer<br /> Dim Timer2 As Timer<br /> <br />End Sub<br /> <br />Sub Globals<br /> Dim Label1 As Label<br /> Dim Label2 As Label<br /> Dim Label3 As Label<br /> Dim Label4 As Label<br /> Dim Label5 As Label<br /> Dim Label6 As Label<br /> Dim Button1 As Button<br /> Dim Button2 As Button<br /> Dim ProgressBar1 As ProgressBar<br /> <br /> Dim Ekran As PhoneWakeState<br /> <br /> Dim Flaga As Boolean<br /> Dim Timeout As Int<br /> Dim Nazwa As String<br /> Dim Adres As String<br /> <br /> <br /> Dim reader As TextReader<br /> <br /> <br /> <br /> <br /> <br />End Sub<br /> <br />Sub Activity_Create(FirstTime As Boolean)<br /> Activity.LoadLayout(&quot;figaro&quot;)<br /> Activity.Title=&quot;Pomiar stężenia czadu&quot;<br /> <br /> <br /> <br /> '----------------------------------------<br /> Button2.Text=&quot;Odśwież&quot;<br /> <br /> Label4.Text=&quot;Mój adres MAC&quot;<br /> '----------------------------------------<br /> Label3.Text=&quot;Aktualne stężenie wynosi:&quot;<br /> <br /> '-----------------------------------------<br /> Label6.Text=&quot; Proszę o natychmiastowe opuszczenie pomieszczenia i telefon do straży pożarnej &quot;<br /> '-----------------------------------------<br /> Flaga=False<br /> '----------------------------------------<br /> Adapter.Initialize(&quot;Adapter&quot;)<br /> '----------------------------------------<br /> Timer1.Initialize(&quot;Timer1&quot;, 100)<br /> Timer1.Enabled=True<br /> Timer2.Initialize(&quot;Timer2&quot;, 50)<br /> Timer2.Enabled=False<br /> '----------------------------------------<br /> Ekran.KeepAlive(True)<br /> '----------------------------------------<br /> Timeout=0<br /> '----------------------------------------<br /> Nazwa=&quot;&quot;<br /> Adres=&quot;&quot;<br /><br /> '----------------------------------------<br />End Sub<br /> <br />Sub Timer1_Tick<br /> Try<br />  If Adapter.IsEnabled = True Then<br />   Label1.Text=Adapter.Address<br />   Button1.Enabled=True<br />   If Flaga=True Then<br />    Button1.Text=&quot;Rozłącz&quot;<br />        Label2.Text=Nazwa &amp; CRLF &amp; Adres<br />   Else<br />    Button1.Text=&quot;Połącz&quot;<br />        Label2.Text=&quot;&quot;<br />   End If<br />  Else<br />   Label1.Text=&quot;Bluetooth wyłączony&quot;<br />   Label2.Text=&quot;&quot;<br />   Button1.Enabled=False<br />   Button1.Text=&quot;Włącz&quot; &amp; CRLF &amp;&quot;bluetooth&quot;<br />   Flaga=False<br />  End If<br /> Catch<br /> End Try<br />End Sub<br /> <br />Sub Timer2_Tick<br /> Timeout=Timeout+1<br /> If Timeout=100 Then<br />  Timer1.Enabled=True<br />  Timer2.Enabled=False<br />  Timeout=0<br /> End If<br /> ProgressBar1.Progress=Timeout<br />End Sub<br /> <br /> <br />    <br />  <br />Sub Adapter_Connected (Powodzenie As Boolean)<br /> Timeout=0<br /> ProgressBar1.Progress=Timeout<br /> Timer1.Enabled=True<br /> Flaga=Powodzenie<br /> If Powodzenie=True Then<br />  Timer2.Enabled=False<br /> End If<br />End Sub<br /> <br />Sub Activity_Resume<br /> <br />End Sub<br /> <br />Sub Activity_Pause (UserClosed As Boolean)<br /> <br />End Sub<br /> <br />Sub Activity_KeyPress (KeyCode As Int) As Boolean<br /> If KeyCode = 4 Then<br />  Adapter.Disconnect<br />  Activity.Finish<br />  ExitApplication<br /> End If                        <br />End Sub<br /> <br />Sub Button1_Click<br /> If Flaga=False Then<br />  Dim Urzadzenia As Map<br />  Dim Lista As List<br />  Dim Wybierz As Int<br />  Urzadzenia = Adapter.GetPairedDevices<br />  Lista.Initialize<br />  For i = 0 To Urzadzenia.Size - 1<br />   Lista.Add(Urzadzenia.GetKeyAt(i))<br />  Next<br />  Wybierz = InputList(Lista, &quot;Wybierz urządzenie&quot;, -1)<br />  If Wybierz &gt;=0 Then<br />   Timer2.Enabled=True<br />   Button1.Enabled=False<br />   Timer1.Enabled=False<br />   Label1.Text=&quot;Czekaj..&quot;<br />   Adres=Urzadzenia.GetValueAt(Wybierz)<br />   Nazwa=Urzadzenia.GetKeyAt(Wybierz)<br />   Adapter.Connect(Adres)<br />  End If<br /> Else<br />  Adapter.Disconnect<br />  Flaga=False<br /> End If<br />End Sub<br /><br />Sub Button2_Click<br /><br />Label5.Text=reader.ReadLine<br /><br />End Sub[/syntax]<br /><br /><br />Poniżej Designer oraz wygląd apki :<br /><br /><a href="https://obrazkiforum.atnel.pl/12818/48ea7a77c494df61bcea620cbc49e0ee.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12818/48ea7a77c494df61bcea620cbc49e0ee.png" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/12818/4053c1ca328118091cc65edc0fc0a2d0.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12818/4053c1ca328118091cc65edc0fc0a2d0.png" alt="Obrazek" /></a> <img src="https://forum.atnel.pl/images/smilies/icon_idea.gif" alt=":idea:" title="Pomysł" /><br /><br />Próbowałem też kombinować z odbiorem z tutoriala  <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic1274.html" >topic1274.html</a><!-- l --> , lecz niestety też nie szło , bardzo proszę o pomoc ...<br /><br />Pozdrawiam i z góry dziękuję<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12818">dzodzoTS</a> — 16 lut 2016, o 22:45</p><hr />
]]></content>
</entry>
</feed>