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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-10-21T21:49:59+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=7&amp;t=4546&amp;mode</id>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-10-21T21:49:59+01:00</updated>
<published>2013-10-21T21:49:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53888#p53888</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53888#p53888"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53888#p53888"><![CDATA[
Jak już włączasz jakieś przerwanie to musi istnieć odpowiednia funkcja obsługi przerwania (ISR) nawet pusta. Jak jej nie ma to przerwanie i tak wystąpi i zresetuje procesor.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 21 paź 2013, o 21:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[david422]]></name></author>
<updated>2013-10-21T21:34:21+01:00</updated>
<published>2013-10-21T21:34:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53885#p53885</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53885#p53885"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53885#p53885"><![CDATA[
A więc problem wygląda na zażegnany. Obsługi przerwania od odbioru jeszcze nie napisałem (tam przy włączeniu tego przerwania powinien być komentarz, że jest nieaktywne). A co pomogło? Wyłączenia echa... <img src="https://forum.atnel.pl/images/smilies/icon_e_geek.gif" alt=":geek:" title="Świr" /> Dzięki kolego Krauser:)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1502">david422</a> — 21 paź 2013, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[IUVOit]]></name></author>
<updated>2013-10-21T20:14:26+01:00</updated>
<published>2013-10-21T20:14:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53874#p53874</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53874#p53874"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53874#p53874"><![CDATA[
Moduł ATB-BTM-222 pobiera trochę prądu. Więc jeżeli wszystko zasilasz  ze stabilizatora 7805, to mogą być duże spadki napięcia i procek może wariować. Jak masz zasilany cały układ uP? Dużo masz elementów na płytce, które są zasilane?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=94">IUVOit</a> — 21 paź 2013, o 20:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2013-10-21T18:51:38+01:00</updated>
<published>2013-10-21T18:51:38+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53868#p53868</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53868#p53868"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53868#p53868"><![CDATA[
1. Nie pokazałeś przerwania od odbioru i co tam się dzieje jak bufor się przepełni.<br />2. W poradniku było o wyłączaniu echa w module BT.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 21 paź 2013, o 18:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[david422]]></name></author>
<updated>2013-10-21T17:45:53+01:00</updated>
<published>2013-10-21T17:45:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53864#p53864</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53864#p53864"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53864#p53864"><![CDATA[
Po kablu działa i nie zawiesza procesora. Dodam, że kilku znakowy string wysyłam co 50ms w pętli głównej.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Zauważyłem, że jak włączę procesor z podłączonym modułem, to ATmega zawiesza się po ok 5s.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1502">david422</a> — 21 paź 2013, o 17:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-21T17:22:36+01:00</updated>
<published>2013-10-21T17:22:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53859#p53859</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53859#p53859"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53859#p53859"><![CDATA[
Przede wszystkim sprawdź to po zwykłym kablu, na jakiejś przejściówce USB/RS232<br /><br />jeśli będzie działać to wtedy ruszy i na BT<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 paź 2013, o 17:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[david422]]></name></author>
<updated>2013-10-21T16:33:10+01:00</updated>
<published>2013-10-21T16:33:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53854#p53854</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53854#p53854"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53854#p53854"><![CDATA[
Tak, poradnik oglądałem, ale obejrzę jeszcze raz. Może coś przeoczyłem<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1502">david422</a> — 21 paź 2013, o 16:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-10-21T16:28:49+01:00</updated>
<published>2013-10-21T16:28:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53853#p53853</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53853#p53853"/>
<title type="html"><![CDATA[Re: ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53853#p53853"><![CDATA[
Sprawdzałeś to na kablu ? ... bo tak gwoli ścisłości - do BTM'a się nie wysyła .... BTM służy tylko jako bezprzewodowy kabel<br /><br />oglądałeś ten poradnik w całości ?<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/12/btm-222-poradnik-video-od-do-z.html" >http://mirekk36.blogspot.com/2012/12/bt ... -do-z.html</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 paź 2013, o 16:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[david422]]></name></author>
<updated>2013-10-21T16:25:26+01:00</updated>
<published>2013-10-21T16:25:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53852#p53852</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53852#p53852"/>
<title type="html"><![CDATA[ATB-BTM-222, wysyłanie danych i zawieszanie ATmegi]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4546&amp;p=53852#p53852"><![CDATA[
Cześć:)<br /><br />Mam takiego jednego zapytasa:) Napisałem sobie program do wysyłania danych przez uart do modułu btm-222. Użyłem w nim bufor cykliczny z przerwaniem UART0_UDRE_vect oraz dla porównania napisałem w nim funkcję do wysyłania bez bufora i bez przerwania. No i gdy moduł nie jest połączony z żadnym urządzeniem, to zawiesza mi atmegę. Jak włączę sobie terminal i zresetuję mikroprocesor, to zaczyna ładnie mi wysyłać dane. Ale gdy zamknę terminal, to ATmegę spowrotem mi zawiesza;(<br />Problem ten obszedłem w inny sposób, ale nie daje mi to spać po nocach czemu tak jest?<br />Przy tworzeniu tego programu wzorowałem się bibliotekami Pana Mirka:)<br />Tutaj kod źródłowy:<br />[syntax=c]#include &quot;main.h&quot;<br /><br /><br />volatile unsigned char UART_BUFOR_RX&#91;UART_BUFOR_RX_SIZE&#93;; //Bufor cykliczny dla odbioru danych<br />volatile unsigned char UART_RX_HEAD = 0; //Początek buforu<br />volatile unsigned char UART_RX_TAIL = 0;//Koniec buforu<br /><br />volatile unsigned char UART_BUFOR_TX&#91;UART_BUFOR_TX_SIZE&#93;;<br />volatile unsigned char UART_TX_HEAD = 0;<br />volatile unsigned char UART_TX_TAIL = 0;<br /><br />void Uart_Init ( void ){<br />UBRR0L = 51; //dla 19200@16MHz<br />UCSR0B = (1&lt;&lt;RXCIE) | (1&lt;&lt;RXEN0) | (1&lt;&lt;TXEN0); //odbiornika i nadajnika uart<br />UCSR0B |= (1&lt;&lt;RXCIE);//włączenie przerwania odbioru<br />UCSR0C = (1&lt;&lt;UCSZ00) | (1&lt;&lt;UCSZ01);//ramka 8n1<br /><br />}<br /><br />//prosta funkcja wysyłająca<br />void uart_transmit( unsigned char data){<br /><br />while(!(UCSR0A &amp; (1&lt;&lt; UDRE0)));<br /><br />UDR0 = data;<br />}<br /><br />void sendString(unsigned char *str){<br />while(*str) {<br />uart_transmit(*str);       //wysyłanie przez prostą funkcję<br />//sendByte(*str);             //wysyłanie z użyciem bufora cyklicznego<br />str++;<br />}<br /><br />}<br /><br />void sendByte(unsigned char byte){<br />uint8_t temp_head;<br /><br />temp_head = (UART_TX_HEAD + 1) &amp; UART_BUFOR_TX_MASK;<br /><br />while(temp_head == UART_TX_TAIL);<br /><br />UART_BUFOR_TX&#91;temp_head&#93; = byte;<br />UART_TX_HEAD = temp_head;<br /><br />UCSR0B |= (1&lt;&lt;UDRIE0);<br /><br />}<br /><br />//Przerwanie od pustego UDR<br />ISR( USART0_UDRE_vect){<br /><br />if( UART_TX_HEAD != UART_TX_TAIL){<br />UART_TX_TAIL = (UART_TX_TAIL + 1) &amp; UART_BUFOR_TX_MASK;<br />UDR0 = UART_BUFOR_TX&#91;UART_TX_TAIL&#93;;<br />}else{<br />UCSR0B &amp;= ~(1&lt;&lt;UDRIE0);<br />}<br />}[/syntax]<br /><br />PS. Dodam, że gdy moduł nie jest podłączony z ATmegą, to mikroprocesor pracuje normalnie i się nie zawiesza.<br /><br /><span style="color: #FF0000">Kody wklejamy za pomocą  syntax=c   Pozdrawiam, Anty </span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1502">david422</a> — 21 paź 2013, o 16:25</p><hr />
]]></content>
</entry>
</feed>