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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-10-30T14:06:00+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13376&amp;mode</id>
<entry>
<author><name><![CDATA[Zombol]]></name></author>
<updated>2015-10-30T14:06:00+01:00</updated>
<published>2015-10-30T14:06:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143798#p143798</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143798#p143798"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143798#p143798"><![CDATA[
Pojawił mi się kolejny problem. Próbuję sterować silnikiem DC z wykorzystaniem komend at i mostka H. Napisałem sobie funkcję do obsługi komendy at+sp zgodnie z szablonem w GB:<br />[syntax=c]int8_t at_sp_service(uint8_t inout, char * params) {<br /><br />if(1== inout)//kod wykonywany dla poprawnych wartosci parametrów<br />{<br />if(params&#91;0&#93; &lt; '0' || params&#91;0&#93;&gt; '1') return -1;<br /><br />if(params&#91;0&#93; == '1')<br />{<br />dc_prawo;<br />uart_puts(&quot;Obroty prawe\r\n&quot;);<br />}<br />else<br />{<br />dc_stop;<br />uart_puts(&quot;Silnik zatrzymany\r\n&quot;);<br />}<br /><br />}<br />else if(!inout)//wyswietlenie aktualnego stanu (parametru) komendy. działa po at+sp?<br />{<br />if( (PORTD &amp; weA ) ) uart_puts(&quot;Obroty w prawo&quot;);<br />else uart_puts(&quot;Silnik nie kreci sie&quot;);<br /><br />}<br />else if(2== inout)//wyswietlenie pomocy do komendy. Jakie parametry itp. działa po at+sp<br />{<br />uart_puts(&quot;At+sp=(0,1)\r\n&quot;);<br />uart_puts(&quot;1- ON\r\n0- OFF\r\n&quot;);<br />}<br />return 0;<br /><br />}[/syntax]<br />Nie wiem dlaczego nie działa mi sprawdzanie aktualnego stanu komendy. Niezależnie od tego, czy silnik się kręci, czy nie, otrzymuję komunikat Silnik nie kreci się. <br /><br />Ustawienia makr dla silnika<br />[syntax=c]//efinicje pinow sterujacych silnikiem<br />#define weA PD5<br />#define weB PD6<br />//definicje polecen sterujacych praca silnika<br />#define dc_lewo PORTD &amp;= ~(1&lt;&lt;weA); PORTD |= (1&lt;&lt;weB)<br />#define dc_prawo PORTD |= (1&lt;&lt;weA); PORTD &amp;= ~(1&lt;&lt;weB)<br />#define dc_stop PORTD &amp;= ~(1&lt;&lt;weA); PORTD &amp;= ~(1&lt;&lt;weB)[/syntax]<br /><br />Plik main.c<br />[syntax=c]int main(void)<br />{<br />DDRD |= (1&lt;&lt;weA) | (1&lt;&lt;weB);<br /><br /><br />LED_DIR |= LED;<br />LED_OFF;<br /><br />sei();// globalne odblokowanie przerwań<br /><br /><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_uart_data );<br /><br /><br />// przedstawienie się układu przez UART po starcie<br />uart_puts(&quot;Dawid aaa\r\n&quot;);<br /><br /><br /><br />// pętla główna programu<br />while(1)<br />{<br /><br />UART_RX_STR_EVENT(bufor);// zdarzenie odbiorcze UART<br /><br />}<br /><br />}<br />//************************* koniec main() **********************[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6251">Zombol</a> — 30 paź 2015, o 14:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zombol]]></name></author>
<updated>2015-10-29T11:33:34+01:00</updated>
<published>2015-10-29T11:33:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143642#p143642</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143642#p143642"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143642#p143642"><![CDATA[
Jeszcze długa droga przede mną <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Tak głupi błąd, że aż głupio tu pisać. <br />I w książce i na płycie w main.c są dwie magiczne linijki<br />[syntax=c]// podświetlenie LCD<br />LED_DIR |= LED;// kierunek WYJŚCIE<br />LED_ON;// domyślnie włączenie podświetlenia[/syntax]<br />Nie mam pojęcia czemu je skasowałem. Może z rozpędu jak kasowałem inicjalizacje IR <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />I problem się rozwiązał <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Dziękuję za pomoc i przepraszam, że takimi pierdołami zawracałem głowę ;D<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6251">Zombol</a> — 29 paź 2015, o 11:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-10-29T10:55:52+01:00</updated>
<published>2015-10-29T10:55:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143633#p143633</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143633#p143633"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143633#p143633"><![CDATA[
A czy jest ustawienie gdzieś kierunku tego piny dla diody? Pytam bo nie mam teraz kompa a tu w skrawka nie widać... dodaj w main pod led1 ddrd |=(1 &lt;&lt;pd7)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 29 paź 2015, o 10:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zombol]]></name></author>
<updated>2015-10-29T10:29:05+01:00</updated>
<published>2015-10-29T10:29:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143631#p143631</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143631#p143631"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143631#p143631"><![CDATA[
Tak, dioda jest podłączona dobrze. Sprawdziłem ją &quot;ręcznie&quot;(tak jak to jest opisywane w BB w pierwszym programie) i działa. <br />Odkryłem też coś dziwnego. Jeżeli chcę sprawdzić stan diody poleceniem at+led? to zawsze dostaję odpowiedź +led=1.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6251">Zombol</a> — 29 paź 2015, o 10:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[eMCe2]]></name></author>
<updated>2015-10-29T09:55:12+01:00</updated>
<published>2015-10-29T09:55:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143623#p143623</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143623#p143623"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143623#p143623"><![CDATA[
Jeszcze nie sprecyzowales gdzie masz ta diode podlaczona ... Czy na pewno na 7 pinie portu D?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1363">eMCe2</a> — 29 paź 2015, o 09:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zombol]]></name></author>
<updated>2015-10-29T09:45:05+01:00</updated>
<published>2015-10-29T09:45:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143622#p143622</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143622#p143622"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143622#p143622"><![CDATA[
W bibliotece komendy_at.c, w funkcji at_led_service zmieniłem lekko wykonywane funkcje, gdy parametr=1.<br /><br />[syntax=c]if( '1' == params&#91;0&#93; )<br />{<br />LED_ON;<br />uart_puts(&quot;LED ON DAWID \r\n &quot;);<br />}[/syntax]<br />Napis się wyświetla poprawnie.<br /><br />W funkcji at_lcd_service, zakomentowałem linijki lcd_locate i lcd_str, bo usunąłem z projektu bilioteki obsługujące LCD.<br />[syntax=c]// sprawdzamy czy są parametry, jeli nie to błąd<br />if(!strlen(wsk)) return -1;<br />// ustawiamy kursor w zadanym miejscu y,x<br />//lcd_locate(y,x);<br />// wyświetlamy tekst<br />//lcd_str( wsk );[/syntax]<br /><br />Tak wygląda plik main.c. Usunąłem z niego funkcję do parsowania danych z IR. Biblioteki do obsługi IR również nie dołączałem do projektu.<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 2011-08-26<br /> *      Author: Mirosław Kardaś<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 />#include &quot;komendy_at.h&quot;<br /><br />//definicje dla preprocesora<br />#define LED1_PIN (1&lt;&lt;PB1)//def pinu diody LED<br />#define LED1_ON PORTB &amp;= ~LED1_PIN//makrodefinicja- zalaczenie diody<br />#define LED1_OFF PORTB |= LED1_PIN//makrodefinicja wylaczenie diody<br />#define LED1_TOG PORTB ^= LED1_PIN//makrodefinicja zmiana stanu diody<br /><br /><br /><br />char bufor&#91;100&#93;;// bufor na potrzeby odebranych danych z UART<br /><br /><br />uint8_t ir_enable;// aktywacja/deaktywacja IR--&gt;TERMINAL<br /><br /><br /><br />//************ główna funkcja main() programu *****************************<br />int main(void)<br />{<br /><br />DDRB |= LED1_PIN; // kierunek pinu wyjsciowy<br /><br /><br /><br />LED1_ON;<br />sei();// globalne odblokowanie przerwań<br /><br />//LED_ON;<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_uart_data );<br /><br /><br /><br /><br /><br />// przedstawienie się układu przez UART po starcie<br />uart_puts(&quot;Dawid\r\n&quot;);<br /><br />//<br /><br />// pętla główna programu<br />while(1)<br />{<br />//_delay_ms(200);<br />//LED1_TOG;<br />//LED1_ON;<br />UART_RX_STR_EVENT(bufor);// zdarzenie odbiorcze UART<br /><br />}<br /><br />}<br />//************************* koniec main() **********************[/syntax]<br /><br />To są wszystkie zmiany jakie poczyniłem. Sam się zastanawiam jak to możliwe, że ta dioda się nie zapala. Wszystko inne w tej funkcji działa, dlatego myślałem, że to wina definicji.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6251">Zombol</a> — 29 paź 2015, o 09:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-10-28T21:44:08+01:00</updated>
<published>2015-10-28T21:44:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143591#p143591</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143591#p143591"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143591#p143591"><![CDATA[
Spokojnie wklej fragmenty biblioteki które zmieniłeś - to przecież można - a definicje diod co mogą mieć do rzeczy<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 paź 2015, o 21:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zombol]]></name></author>
<updated>2015-10-28T20:33:16+01:00</updated>
<published>2015-10-28T20:33:16+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143573#p143573</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143573#p143573"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143573#p143573"><![CDATA[
Właśnie problem w tym, że ja w main nic nie zmieniałem, a jedynie zmieniłem 4 linijki w komendy_at.h<br /><br />Dokonałem zmian w tym fragmencie. Nie jest to chyba jakiś szczególnie wrażliwy fragment, więc chyba nie popełniłem rażącego błędu udostępniając go <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Jeśli jestem w błędzie, to wykasować <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]// definicje na potrzeby programu<br />#define LED (1&lt;&lt;PD7)<br />#define LED_DIR DDRD<br />#define LED_PORT PORTD<br />#define LED_PIN PIND<br /><br />#define LED_OFF LED_PORT &amp;= ~LED<br />#define LED_ON LED_PORT |= LED<br />#define LED_TOG LED_PORT ^= LED[/syntax]<br /><br />Nie załączyłem do projektu plików z obsługą lcd i ir, dlatego w pliku komendy_at.c w funkcji st_lcd_service zakomentowałem dwie linijki: pozycjonującą kursor i wysyłającą w to miejsce tekst.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6251">Zombol</a> — 28 paź 2015, o 20:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-10-28T20:05:06+01:00</updated>
<published>2015-10-28T20:05:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143566#p143566</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143566#p143566"/>
<title type="html"><![CDATA[Re: Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143566#p143566"><![CDATA[
<div class="quotetitle">Zombol napisał(a):</div><div class="quotecontent"><br />Nie wrzucam tutaj kodu, bo pochodzi on z książki, a to jest zabronione<br /></div><br />Prośba moja zawsze dotyczy tylko tego aby nie wrzucać oryginalnych bibliotek z książek ... a swój plik main szczególnie gdy dokonujesz w nim zmian możesz wrzucać ile wlezie - to nawet wskazane bo nie wiadomo co ty tam robisz - więc jak pomóc ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 28 paź 2015, o 20:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Zombol]]></name></author>
<updated>2015-10-28T18:11:42+01:00</updated>
<published>2015-10-28T18:11:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143555#p143555</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143555#p143555"/>
<title type="html"><![CDATA[Problem z komendami AT]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13376&amp;p=143555#p143555"><![CDATA[
Witam<br />Próbuję nauczyć się zaawansowanej komunikacji po RS232, która jest opisana w GB. Próbuję zapalić diodę LED funkcją, która miała zapalić podświetlenie LCD. Wygląda na to, że działa, ale dioda się nie zapala. Dodałem do tej funkcji polecenie wysłania stringa do terminala i to działa. Zmieniłem makra dla diody w pliku komendy_at.h. Nie mam pojęcia co robię źle. <br />Działam na Atmega8 i wew. rezonatorze 8MHz.<br /><br />PS<br />Nie wrzucam tutaj kodu, bo pochodzi on z książki, a to jest zabronione <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6251">Zombol</a> — 28 paź 2015, o 18:11</p><hr />
]]></content>
</entry>
</feed>