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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-10-08T19:06:53+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=19336&amp;mode</id>
<entry>
<author><name><![CDATA[micky]]></name></author>
<updated>2017-10-08T17:08:27+01:00</updated>
<published>2017-10-08T17:08:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19336&amp;p=196641#p196641</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19336&amp;p=196641#p196641"/>
<title type="html"><![CDATA[Re: Problem z komunikacją bluetooth]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19336&amp;p=196641#p196641"><![CDATA[
Przede wszystkim to kody wklejamy odpowiednio na forum a nie poprzez zewnętrzne serwisy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1546">micky</a> — 8 paź 2017, o 17:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[arturooo]]></name></author>
<updated>2017-10-08T19:06:53+01:00</updated>
<published>2017-10-08T16:24:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19336&amp;p=196637#p196637</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19336&amp;p=196637#p196637"/>
<title type="html"><![CDATA[Problem z komunikacją bluetooth]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19336&amp;p=196637#p196637"><![CDATA[
Jestem w trakcie wykonywania projektu z <a href="https://www.elektroda.pl/rtvforum/topic2339095.html"  class="postlink">https://www.elektroda.pl/rtvforum/topic2339095.html</a> <br />Część elektroniczną już zmontowałem, innymi rzeczami które musiałem wykonać to zaprogramować atmege.<br />Kod był podany na elektrodzie, więc raczej BYŁ on dobry, ale kilka nazw funkcji jest nieaktualnych i nie działa.<br />Kod z elektrody:<br />[syntax=c]//*************definicja funkcji inicjalizującej USART***********<br />void USART_Init(uint32_t baud)<br />{<br />// wyliczenie UBRR dla trybu asynchronicznego (U2X=0)<br />uint16_t _ubr = (F_CPU/16/baud-1);<br />// ustawienie prędkości<br /><br />UBRRH = (uint8_t)(_ubr&gt;&gt;8);<br />UBRRL = (uint8_t) _ubr;<br />// załączenie nadajnika i odbiornika<br />UCSRB = (1&lt;&lt;RXEN)|(1&lt;&lt;TXEN);<br />// ustawienie formatu ramki: 8 bitów danych, 1 bit stopu<br />UCSRC = (1&lt;&lt;URSEL)|(3&lt;&lt;UCSZ0);<br />}<br />// **************definicja funkcji nadawczej*********************<br />void USART_Transmit(unsigned int data)<br />{<br />// czekaj aż bufor nadawczy będzie pusty<br />while( !(UCSRA &amp; (1&lt;&lt;UDRE)));<br />// wrzuć dane do bufora nadawczego, start transmisji<br />UDR=data;<br />}<br />//*******przerwanie od zakonczenia przetwarzania ADC********************<br />SIGNAL(SIG_ADC)<br />{<br />//obl. wartości napięcia na wejściu<br />result=(float)(ADCL|(ADCH&lt;&lt;8))/1024*128;<br />counter++; //zwiększenie licznika<br />PORTD &amp;= ~_BV(PB2);<br />if(counter==200) //co 200 pomiar<br />{<br />sensor=result;<br />USART_Transmit(sensor);<br />if(sensor&gt;25)<br />{<br />PORTD &amp;= ~_BV(PB3);<br />}<br /><br />if(sensor&lt;10)<br />{<br />PORTD |= _BV(PB3);<br />}<br />counter=0; //wyzerowanie licznika<br />}<br />PORTD |= _BV(PB2);<br />}<br />//*********************INICJALIZACJA ADC***************************<br />void init_adc(void)<br />{<br />//ADEN - aktywowanie ADC, ADIE - Aktywowanie przerwania<br />//ADFR - Free Runing (pomiar caly czas), ADSC - start pomiaru<br />//ADPSX - ustawienie preskalera<br />ADCSR= _BV(ADEN)|_BV(ADIE)|_BV(ADFR)|_BV(ADSC)|_BV(ADPS0)|_BV(ADPS1)|_BV(ADPS2);<br />}<br />//*********************FUNKCJA MAIN***************************<br />int main(void)<br />{<br />counter=0;<br />// inicjalizacja modułu UART<br />USART_Init(19200);<br />DDRD = 0xff;<br />init_adc(); //aktywowanie ADC<br />sei(); //zwolnienie przerwan globalnych<br />for(;;) //pętla nieskończona<br />{<br />}<br />return 0;<br />}[/syntax]<br /><br />Wiec ten kod przerobiłem na taki:<br />  [syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br /><br />void ADC_init();<br />void USART_Transmit(unsigned int);<br />void USART_Init(unsigned int);<br /><br />volatile uint16_t pomiar;<br />volatile uint16_t licznik = 0;<br /><br />int main(void)<br />{<br />sei();<br />USART_Init(51);   //51 z noty katalogowej dla baud=9600, U2X=0;<br />ADC_init();<br /><br />while(1)<br />{<br />}<br />}<br /><br /><br />ISR(ADC_vect)<br />{<br />licznik++;<br />if(licznik&gt;200)<br />{<br />pomiar = ADCH;<br />USART_Transmit(pomiar);<br /><br />licznik = 0;<br />}<br />}<br /><br />void ADC_init(void)<br />{<br />ADMUX |= (1&lt;&lt;REFS0) | (1&lt;&lt;ADLAR); //napiecie odniesienia VCC,rejestr z wartoscia = ADCH<br />ADCSR |= (1&lt;&lt;ADEN) | (1&lt;&lt;ADSC) | (1&lt;&lt;ADFR) | (1&lt;&lt;ADIE); //wlaczenie ADC, start, Free Running, zezwolenie na przerwanie<br />ADCSR |= (1&lt;&lt;ADPS0) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS2); //preskaler /128<br />}<br /><br />void USART_Transmit(unsigned int data)<br />{<br />while ( !( UCSRA &amp; (1&lt;&lt;UDRE)) );<br />UDR = data;<br />}<br /><br />void USART_Init(unsigned int baud)<br />{<br />UBRRH = (uint8_t)(baud&gt;&gt;8);<br />UBRRL = (uint8_t)baud;<br /><br />UCSRB = (1&lt;&lt;RXEN) | (1&lt;&lt;TXEN); //włączenie nadajnika i odbiornika<br />UCSRC = (1&lt;&lt;URSEL) | (3&lt;&lt;UCSZ0);  //8 bitów, 1 bit stopu[/syntax] <br /><br /> i na pewno są w nim jakieś błędy, bo sie na tym za dobrze nie znam. Na forum znaleźli 2 błędy, które nie wiem jak naprawić: <a href="http://www.labview.pl/viewtopic.php?t=5622#p28465"  class="postlink">http://www.labview.pl/viewtopic.php?t=5622#p28465</a><br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />1. Dlaczego Twoja funkcja USART_Transmit przyjmuje unsigned int? Rejestr UDR ma 1 bajt na TX i 1 bajt na RX, z tego co widzę tutaj choćby: <!-- m --><a class="postlink" href="http://maxembedded.com/2013/09/the-usar" >http://maxembedded.com/2013/09/the-usar</a><!-- m --> ... e-avr/#UDR (niżej w tym linku jest też przykład kodu).<br />2. Wysyłasz bajty, a nie liczby w ASCII - funkcja Decimal String To Number nie będzie tu działać. Użyj String To Byte Array, żeby skonwertować string na właściwe wartości U8.<br /></div><br />  <br /><strong><span style="text-decoration: underline"><span style="color: #800080">GŁÓWNYM PROBLEMEM W MOIM PROJEKCIE JEST TO</span></span></strong> że po połączeniu sie przez BTM(moduł bluetooth; <!-- m --><a class="postlink" href="http://atnel.pl/bluetooth-atb-btm-222.html" >http://atnel.pl/bluetooth-atb-btm-222.html</a><!-- m -->) z PC, po  5-10 sekundach, tak jakby program sie zawieszał na 1-2sek, następuje zerwanie połączenia, a potem program znów rusza......ale już bez komunikacji bluetooth.<br /><br />Wczoraj pobrałem testowy program w labview, chciałem sprawdzić czy też będzie zrywać połączenie, ale NIE. Jest wszystko dobrze. Czyli chyba pozostaje coś źle z kodem w  mojej atmedze lub programem labview(czujnik pulsu).<br /><br /><br /><br />Te problemy są jakieś losowe, bo jakieś 2 tygodnie temu też miałem problem ze zrywaniem połączenia, ale jakieś 4x udało mi sie połączyć na długi czas. Nie wiem z czym jest problem.<br /><br /><br /><br /><br />Załączniki:<br /><br />LabViewPulse -mój program, który się rozłącza po kilku sekundach<br />Link do programu: <!-- m --><a class="postlink" href="http://www7.zippyshare.com/v/2WlHJfr8/file.html" >http://www7.zippyshare.com/v/2WlHJfr8/file.html</a><!-- m -->   <br /><br />BluetoothAndroid-program testowy, NIE rozłącza się<br />Link do programu: <!-- m --><a class="postlink" href="http://www14.zippyshare.com/v/zeUi5hsP/file.html" >http://www14.zippyshare.com/v/zeUi5hsP/file.html</a><!-- m --><br /><!-- m --><a class="postlink" href="https://forums.ni.com/t5/Example-Programs/LabVIEW-Android-comm-via-bluetooth-serial-using-LabVIEW/ta-p/3534964" >https://forums.ni.com/t5/Example-Progra ... -p/3534964</a><!-- m --><br /><br /><br /><br /><br /><span style="color: #80BF00"><span style="font-size: 200%; line-height: normal">Proszę o jakąkolwiek pomoc, jeśli chodzi o koszty to sie dogadamy na 100%</span></span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16259">arturooo</a> — 8 paź 2017, o 16:24</p><hr />
]]></content>
</entry>
</feed>