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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-07-25T16:50:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=24&amp;t=18850&amp;mode</id>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2017-07-25T16:50:30+01:00</updated>
<published>2017-07-25T16:50:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192580#p192580</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192580#p192580"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192580#p192580"><![CDATA[
Sprawdziłem LEDEM, nie wykonuje się przerwanie odbiorcze :/<br /><br />Dzięki pomocy użytkownika QuadMan problem został rozwiązany. Błędna nazwę miał wektor przerwan<br /><br />[syntax=c]ISR( USART0_RX_vect )[/syntax]<br /><br />Dziękuję za pomoc. <br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 25 lip 2017, o 16:50</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[QuadMan]]></name></author>
<updated>2017-07-25T16:27:25+01:00</updated>
<published>2017-07-25T16:27:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192577#p192577</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192577#p192577"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192577#p192577"><![CDATA[
Wygląda na to,że wektory masz ok. Sprawdź może LED-em, czy wykonuje się przerwanie odbiorcze.<br /><br />Pozdrawiam, QuadMan.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5291">QuadMan</a> — 25 lip 2017, o 16:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2017-07-25T16:12:31+01:00</updated>
<published>2017-07-25T16:12:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192576#p192576</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192576#p192576"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192576#p192576"><![CDATA[
Ja wiem, że to wróżenie z fusów.. ale nie raz używałem UARTA dwustronnie i wszytko działało, pierwszy raz mam atmege644p i wydaje mi się, że to może być problem z biblioteką.. wszystko co eclipse mi podkreśił to poprawiłem dopisując &quot;0&quot; jako, że wykorzystuje uart0. <br /><br />Jeśli chodzi o wektory przerwań to wygladają tak: <br /><br />[syntax=c]ISR( USART0_UDRE_vect)  {<br /><br />ISR( USART0_RXC_vect ) {[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 25 lip 2017, o 16:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[QuadMan]]></name></author>
<updated>2017-07-25T16:00:21+01:00</updated>
<published>2017-07-25T16:00:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192575#p192575</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192575#p192575"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192575#p192575"><![CDATA[
Witam,<br />To takie trochę wróżenie z fusów, ale wszystko wskazuje na to, że niekoniecznie dobrze przeportowałeś bibliotekę Mikra. Sprawdź, czy masz właściwy wektor obsługi przerwania odbiorczego, a jeśli tak, to czy przerwanie odbiorcze w ogóle się wykonuje.<br /><br />Pozdrawiam, QuadMan.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=5291">QuadMan</a> — 25 lip 2017, o 16:00</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2017-07-25T14:46:16+01:00</updated>
<published>2017-07-25T14:46:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192572#p192572</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192572#p192572"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192572#p192572"><![CDATA[
Witam, <br /><br />Niestety kolejne problemy z komunikacja, jeśli nadawanie działało poprawnie tak odbiór nie chce działać... <br /><br />Napisałem prosty kod tylko do testów: <br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 25 lip 2017<br /> *      Author: Marci<br /> */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/wdt.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;MK_USART/mkuart.h&quot;<br /><br />// *** DIODA LED ***<br />#define LED_PIN (1&lt;&lt;PD2)<br />#define LED_OUT DDRD |= LED_PIN<br />#define LED_ON PORTD |= LED_PIN<br />#define LED_OFF PORTD &amp;= ~LED_PIN<br />#define LED_TOG PORTD ^= LED_PIN<br /><br />#define KEY_ENTER (1&lt;&lt;PA6)<br /><br />void parse_rs232(char * buf);<br />uint8_t klawisz_wcisniety (uint8_t klawisz);<br /><br />char bufor&#91;100&#93;;// bufor na potrzeby odebranych danych z UART<br /><br />int main(void) {<br /><br />LED_OUT;<br />LED_OFF;<br /><br />DDRA &amp;= ~ KEY_ENTER;<br />PORTA |=  KEY_ENTER;<br /><br />// inicjalizacja UART<br />USART_Init(__UBRR);<br /><br />// rejestracja własnej funkcji do analizowania danych odebranych przez UART<br />register_uart_str_rx_event_callback( parse_rs232 );<br /><br />sei();// globalne odblokowanie przerwań<br /><br />while(1)<br />{<br />UART_RX_STR_EVENT(bufor);// zdarzenie odbiorcze UART<br /><br />if(klawisz_wcisniety (KEY_ENTER))// temperatura w dół<br />{<br />uart_puts (&quot;TEST \r\n&quot;);<br />}<br />}<br />}<br /><br />void parse_rs232(char * buf)<br />{<br />LED_TOG;<br />}<br /><br />uint8_t klawisz_wcisniety (uint8_t klawisz)<br />{<br />if( !(PINA &amp; klawisz) )// klawisz wciśnięty ?<br />{<br />_delay_ms(80);// czas drgań styków<br />if(! (PINA &amp; klawisz) ) return 1;   // jeśli wciśnięty?  zakończ funkcję - rezultat = 1<br />}<br />return 0;// jeśli nie wciśnięty klawisz, zakończ funkcję, rezultat = 0<br />}[/syntax]<br /><br />Gdzie podłączyłem zestaw atb jako przejściówke RS232. Po wciśnięciu klawisza w terminalu pojawia mi się napis &quot;TEST&quot; i to działa prawidłowo, natomiast jeśli chce cokolwiek wysłać w drugą stronę blokuje automatycznie pętle główną, procesor się zawiesza... :/ <br /><br /><a href="https://obrazkiforum.atnel.pl/903/8f7703769a67fab06073f67c87c563ed.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/903/8f7703769a67fab06073f67c87c563ed.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 25 lip 2017, o 14:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2017-07-23T15:26:13+01:00</updated>
<published>2017-07-23T15:26:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192483#p192483</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192483#p192483"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192483#p192483"><![CDATA[
Już działa tak jak powinno, w terminalu ładnie pojawia się komunikat. <br />Kolejnym moim etapem jest wykupienie serwera i domeny. Chciałbym aby sterownik wysyłał dane do serwera a aplikacja na pc bądź telefonie je odbierała<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 23 lip 2017, o 15:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anonimowy]]></name></author>
<updated>2017-07-22T15:26:08+01:00</updated>
<published>2017-07-22T15:26:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192444#p192444</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192444#p192444"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192444#p192444"><![CDATA[
<div class="quotetitle">Morcinek92 napisał(a):</div><div class="quotecontent"><br />[syntax=c]/* Ustawienie prędkości */<br /><br />/* Ustawienie format ramki: 8bitów danych, 1 bit stopu */<br />//UCSR0C = (1&lt;&lt;UCSZ00)|(1&lt;&lt;UCSZ01);<br />UCSR0C = (1&lt;&lt;USBS0)|(3&lt;&lt;UCSZ00);[/syntax]<br /></div><br />Zajrzyj do noty. Ustawiasz dwa bity stopu, powinno być:<br />[syntax=c]/* Ustawienie prędkości */<br /><br />/* Ustawienie format ramki: 8bitów danych, 1 bit stopu */<br />//UCSR0C = (1&lt;&lt;UCSZ00)|(1&lt;&lt;UCSZ01);<br />UCSR0C = (3&lt;&lt;UCSZ00);[/syntax]<br /><br />Musisz też dostosować funkcje biblioteki Mirka do tego procesora, tj zmian rejestrów UDR na UDR0 i jeszcze kilka innych.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3542">anonimowy</a> — 22 lip 2017, o 15:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2017-07-22T14:41:31+01:00</updated>
<published>2017-07-22T14:41:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192441#p192441</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192441#p192441"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192441#p192441"><![CDATA[
Panie Mirku, mój problem z migającymi napisami nie jest związany z Timerami, usunąłem je z pętli głównej i teraz wygląda ona tak: <br /><br />[syntax=c]while(1)<br />{<br />UART_RX_STR_EVENT( uart_buf );<br /><br /><br />if (WIFI_ON)<br />{<br />lcd_locate (1,13);<br />lcd_str (&quot;ON &quot;);<br />}<br />if (WIFI_OFF)<br />{<br />lcd_locate (1,13);<br />lcd_str (&quot;OFF&quot;);<br />}<br /><br />uart_puts (&quot;TEST WIFI \r\n&quot;);<br />}[/syntax]<br /><br />Ma tylko wysyłać napis. Mam procesor AT644P, czyli z dwoma uartami jak się przed chwilką dowiedziałem i problem chyba leży w inicjalizacji i wektorach przerwań, bo kiedy zmieniłem nazwę wektorów przerwań przestał migać LCD. <br /><br />z: <br />[syntax=c]ISR( USART_UDRE_vect)<br />ISR( USART_RXC_vect )[/syntax]<br /><br />zmieniłem na : <br /><br />[syntax=c]&#91;syntax=c&#93;ISR( USART0_UDRE_vect)<br />ISR( USART0_RXC_vect )[/syntax][/syntax]<br /><br />natomiast inicjalizacja : <br /><br />[syntax=c]/* Ustawienie prędkości */<br />UBRR0L = (uint8_t)baud;<br />UBRR0H = (uint8_t)(baud&gt;&gt;8);<br />/* Załączenie nadajnika I odbiornika */<br />UCSR0B = (1&lt;&lt;RXEN0)|(1&lt;&lt;TXEN0);<br />/* Ustawienie format ramki: 8bitów danych, 1 bit stopu */<br />//UCSR0C = (1&lt;&lt;UCSZ00)|(1&lt;&lt;UCSZ01);<br />UCSR0C = (1&lt;&lt;USBS0)|(3&lt;&lt;UCSZ00);[/syntax]<br /><br />No ale niestety w terminalu nadal nic się nie pojawia ( prędkości, częstotliwość taktowania to wszystko jest okej)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 22 lip 2017, o 14:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-07-21T23:12:47+01:00</updated>
<published>2017-07-21T23:12:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192422#p192422</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192422#p192422"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192422#p192422"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Funkcję nie wykonują się miliard razy na sekundę.<br /></div><br />Jeśli nie rozumiesz jak to działa to dopytaj czego nie rozumiesz - bo jak będziesz opowiadał że nie wykonuje się miliard razy - to jak ci pomóc ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 21 lip 2017, o 23:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2017-07-21T20:43:36+01:00</updated>
<published>2017-07-21T20:43:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192415#p192415</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192415#p192415"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192415#p192415"><![CDATA[
Troszkę nie rozumiem.. bo wykorzystałem Timer wydaje mi się, że poprawnie. <br />Funkcję nie wykonują się miliard razy na sekundę. Timer ma przerwanie co 10ms.  Dioda LED zmienia stan co 200ms ( Timer1 = 20;), a funcja pomiar na czas konwersji ma 750 ms. I to działa prawidłowo, jeśli nie używam UART_PUTS. Dopiero po jej dodaniu takie cuda się dzieją. <br /><br />A co do _delay_ms to macie rację nie powinno go tam wgl być. Dodałem go do testu bo myślałem, że coś się zmieni, ale nadal było tak samo. <br />Oczywiście proszę go ZIGNOROWAĆ.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 21 lip 2017, o 20:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-07-20T16:58:41+01:00</updated>
<published>2017-07-20T16:58:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192369#p192369</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192369#p192369"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192369#p192369"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />pomiar nie działa &quot;MILIARD RAZY NA SEKUNDĘ&quot; - kolega ma _delay_ms tam + obsługa funkcji LCD.<br /></div><br />no tak - zapomniałem dodać, że nie dość że timer nie jest napędzany i działałby miliard razy na sekundę to do tego wrzucony jest tam DELAY, który działa tak - jakby ktoś jechał autem na 6-tym biegu ok 200 km/h i nagle wrzuciłby bieg wsteczny<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br /><div class="quotetitle">dambo napisał(a):</div><div class="quotecontent"><br />ten delay_ms w pętli wtedy można wywalić całkiem.<br /></div><br /><br />DOKŁADNIE i zacząć napędzać timer w tym IF'ie timera<br /><br />i też się dziwę widząc dwie książki w podpisie bo tam jest kupa przykładów z takimi timierami<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 lip 2017, o 16:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2017-07-20T15:35:01+01:00</updated>
<published>2017-07-20T15:35:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192363#p192363</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192363#p192363"/>
<title type="html"><![CDATA[Re: ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192363#p192363"><![CDATA[
Nie dość że twój Timer1 programowy działa MILIARD RAZY NA SEKUNDĘ - co każdy obieg pętli głównej (w ogóle mógłbyś go wykasować przy takim zastosowaniu błędnym - bo go po prostu &quot;nie napędzasz&quot;) ... to jednocześnie funkcja pomiar temperatury jest wykonywana miliard razy na sekundę i się dziwisz ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 20 lip 2017, o 15:35</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Morcinek92]]></name></author>
<updated>2017-07-20T14:56:39+01:00</updated>
<published>2017-07-20T14:56:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192360#p192360</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192360#p192360"/>
<title type="html"><![CDATA[ATB_WIFI232]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18850&amp;p=192360#p192360"><![CDATA[
Witam, <br /><br />Zacząłem swoja przygodę z okiełznaniem modułu ATB WIFI232, utknąłem na video $178 - Programowanie part 6. <br /><br />Schemat płytki PCB: <br /><a href="https://obrazkiforum.atnel.pl/903/214acb4fb1857003af53121f6be64dea.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/903/214acb4fb1857003af53121f6be64dea.png" alt="Obrazek" /></a><br /><br />Moduł Wifi poprzez przycisk WPS podłączyłem do swojego routera, wszystko przebiegło poprawnie: <br /><a href="https://obrazkiforum.atnel.pl/903/2b9a09ed079c33809178b8cc26fc3c6c.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/903/2b9a09ed079c33809178b8cc26fc3c6c.png" alt="Obrazek" /></a><br /><br />Chciałem wysłać string i odebrać go w terminalu no i tutaj pojawił się problem na samym początku z wysłaniem go przez płytkę, ponieważ na wyświetlaczu (fotka poniżej), wartość temperatury jest mało co widoczna, tak jakby zostaje powielona, czy też wyświetlacz jest ciągle odświeżany? ciężko mi to wytłumaczyć widać to na fotce.  <br /><a href="https://obrazkiforum.atnel.pl/903/18815acb4652ad4695120a86b15cd30b.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/903/18815acb4652ad4695120a86b15cd30b.jpg" alt="Obrazek" /></a><br /><br />Kod programu: <br />main.c[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 16 lip 2017<br /> *      Author: Marcin Wójcik<br /> */<br /><br />#include &quot;main.h&quot;<br /><br />int main(void)<br />{<br />LCD_OUT;<br />LCD_ON;<br /><br />LED_OUT;<br />LED_OFF;<br /><br />DDRC &amp;= ~ WIFI_STATUS;<br />PORTC |= WIFI_STATUS;<br /><br />lcd_init();<br />lcd_defchar_P(0x83, znak_termo);<br />lcd_locate (0,0);<br />lcd_str (&quot;Sterownik Wifi&quot;);<br /><br />TCCR0A |= (1&lt;&lt;WGM01);/* tryb CTC */<br />TCCR0B |= (1&lt;&lt;CS02)|(1&lt;&lt;CS00);/* preskaler = 1024 */<br />OCR0A = 107;/* dodatkowy podział przez 108 (rej. przepełnienia) */<br />TIMSK0 |= (1&lt;&lt;OCIE0A);// 10ms/* zezwolenie na przerwanie CompareMatch */<br /><br />// rejestracja własnej funkcji do analizowania danych odebranych przez UART<br />register_uart_str_rx_event_callback( parse_rs232 );<br /><br />USART_Init(__UBRR);// Inicjalizacja UART<br /><br />sei ();<br /><br />while(1)<br />{<br />UART_RX_STR_EVENT( uart_buf );<br /><br />#if LED_STAN == 1<br />if ( !Timer1 )<br />{<br />Timer1 = 20;<br />LED_TOG;<br />}<br />#endif<br /><br />if (WIFI_ON)<br />{<br />lcd_locate (1,13);<br />lcd_str (&quot;ON &quot;);<br />}<br />if (WIFI_OFF)<br />{<br />lcd_locate (1,13);<br />lcd_str (&quot;OFF&quot;);<br />}<br /><br />Pomiar_Temp ();<br /><br />uart_puts (&quot;TEST WIFI \r\n&quot;);<br />_delay_ms(100);<br />}<br />}<br /><br />void Pomiar_Temp (void)<br />{<br />czujniki_cnt = search_sensors();<br />DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );<br />if ( !Timer2 )<br />{<br />Timer2 = 75;<br /><br />if( DS18X20_OK == DS18X20_read_meas(gSensorIDs&#91;0&#93;, &amp;subzero, &amp;cel, &amp;cel_fract_bits) )<br />{<br />lcd_locate(1,0);<br />lcd_str (&quot;      &quot;);<br />lcd_locate(1,0);<br />lcd_str(&quot;\x83&quot;);<br />if(subzero) lcd_str(&quot;-&quot;);/* jeśli subzero==1 wyświetla znak minus (temp. ujemna) */<br />else lcd_str(&quot; &quot;);/* jeśli subzero==0 wyświetl spację zamiast znaku minus (temp. dodatnia) */<br />lcd_int(cel);/* wyświetl dziesiętne części temperatury  */<br />lcd_str(&quot;.&quot;);/* wyświetl kropkę */<br />lcd_int(cel_fract_bits); /* wyświetl dziesiętne części stopnia */<br />}<br />else<br />{<br />lcd_locate(1,0);<br />lcd_str (&quot;ERROR&quot;);<br />}<br />}<br />}<br /><br />void parse_rs232(char * buf)<br />{<br /><br />}<br /><br />ISR(TIMER0_COMPA_vect)<br />{<br />uint16_t n;<br /><br />n = Timer1;             // Dioda LED<br />if (n) Timer1 = --n;<br />n = Timer2;             // Odczekanie podczas pomiaru DS18B20<br />if (n) Timer2 = --n;<br />}[/syntax]<br />main.h <br />[syntax=c]/*<br /> * main.h<br /> *<br /> *  Created on: 16 lip 2017<br /> *      Author: Marci<br /> */<br /><br />#ifndef MAIN_H_<br />#define MAIN_H_<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/delay.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;string.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />#include &quot;1Wire/ds18x20.h&quot;<br />#include &quot;LCD/lcd44780.h&quot;<br />#include &quot;MK_USART/mkuart.h&quot;<br /><br />// *** DIODA LED ***<br />#define LED_PIN (1&lt;&lt;PD2)<br />#define LED_OUT DDRD |= LED_PIN<br />#define LED_ON PORTD |= LED_PIN<br />#define LED_OFF PORTD &amp;= ~LED_PIN<br />#define LED_TOG PORTD ^= LED_PIN<br /><br />// *** WiFi Status ***<br />#define WIFI_STATUS (1&lt;&lt;(PC5))<br />#define WIFI_ON  bit_is_set(PINC, PC5) // sprawdza czy pin jest w stanie wysokim<br />#define WIFI_OFF  bit_is_clear(PINC, PC5) // sprawdza czy pin jest w stanie wysokim<br /><br />// *** LCD LED ***<br />#define LCD_PIN (1&lt;&lt;PC2)<br />#define LCD_OUT DDRC |= LCD_PIN<br />#define LCD_OFF PORTC |= LCD_PIN<br />#define LCD_ON PORTC &amp;= ~LCD_PIN<br />#define LCD_TOG PORTC ^= LED_PIN<br /><br />//*** Przycisk ***<br />#define KEY_PIN (1&lt;&lt;PC6)<br />#define KEY_DOWN !(PINC &amp; KEY_PIN)<br />#define KEY_OUT DDRC &amp;= ~KEY_PIN;<br />#define KEY_PULL_UP PORTC |= KEY_PIN;<br /><br />// *** USTAWIENIA ***<br /><br />// DIODA LED<br />#define LED_STAN 1<br /><br />// *** Inne zmienne ***<br />volatile uint16_t Timer1, Timer2;<br />char uart_buf&#91;100&#93;;<br /><br />// *** DS18B20 ***<br />uint8_t czujniki_cnt, subzero, cel_fract_bits, cel;<br /><br />// *** ZNAKI SPECJALNE ***<br />const uint8_t znak_termo&#91;&#93; PROGMEM = {4,10,10,10,17,31,31,14};<br /><br />void Pomiar_Temp (void);<br />void parse_rs232(char * buf);<br /><br />#endif /* MAIN_H_ */[/syntax]<br /><br />Kiedy zakomentuje linikę : uart_puts (&quot;TEST WIFI \r\n&quot;); program działa okej, ale kiedy chcę wysłać string no to już zaczynają dziać się cuda (takie jak na lcd) czy ktoś wie czego to może być przyczyna ? <br /><br />PROCESOR : ATmega644 taktowanie : 11,0592<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=903">Morcinek92</a> — 20 lip 2017, o 14:56</p><hr />
]]></content>
</entry>
</feed>