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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-01-27T19:42:57+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=14321&amp;mode</id>
<entry>
<author><name><![CDATA[leeon]]></name></author>
<updated>2016-01-27T19:42:57+01:00</updated>
<published>2016-01-27T19:42:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151896#p151896</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151896#p151896"/>
<title type="html"><![CDATA[Re: USART Atmega328p, problem z wektorami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151896#p151896"><![CDATA[
Problem rozwiązany, w drzewie projektu znajdowała się inna biblioteka UART <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Wystarczyło usunąć plik.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8525">leeon</a> — 27 sty 2016, o 19:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Krauser]]></name></author>
<updated>2016-01-27T18:46:54+01:00</updated>
<published>2016-01-27T18:46:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151893#p151893</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151893#p151893"/>
<title type="html"><![CDATA[Re: USART Atmega328p, problem z wektorami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151893#p151893"><![CDATA[
Błąd nie jest w złej nazwie, ale w tym, że gdzieś jeszcze taka funkcja obsługi przerwania występuje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=465">Krauser</a> — 27 sty 2016, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[leeon]]></name></author>
<updated>2016-01-27T18:21:09+01:00</updated>
<published>2016-01-27T18:21:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151891#p151891</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151891#p151891"/>
<title type="html"><![CDATA[Re: USART Atmega328p, problem z wektorami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151891#p151891"><![CDATA[
<div class="quotetitle">KBCH napisał(a):</div><div class="quotecontent"><br />Wrzuć cały kod jak przystało bo tak do niczego nie dojdziemy.<br /></div><br /><br />Nie wolno wklejać cały bibliotek - się dowiedziałem, więc wycinek:<br /><br />[syntax=c]// definiujemy procedurę obsługi przerwania nadawczego, pobierającą dane z bufora cyklicznego<br />ISR(USART_UDRE_vect)  {<br />    // sprawdzamy czy indeksy są różne<br />    if ( UART_TxHead != UART_TxTail ) {<br />    // obliczamy i zapamiętujemy nowy indeks ogona węża (może się zrównać z głową)<br />    UART_TxTail = (UART_TxTail + 1) &amp; UART_TX_BUF_MASK;<br />    // zwracamy bajt pobrany z bufora  jako rezultat funkcji<br />#ifdef UART_DE_PORT<br />    UART_DE_NADAWANIE;<br />#endif<br />    UDR0 = UART_TxBuf&#91;UART_TxTail&#93;;<br />    } else {<br />// zerujemy flagę przerwania występującego gdy bufor pusty<br />UCSR0B &amp;= ~(1&lt;&lt;UDRIE0);<br />    }<br />}<br /><br /><br />// definiujemy funkcję pobierającą jeden bajt z bufora cyklicznego<br />int uart_getc(void) {<br />    // sprawdzamy czy indeksy są równe<br />    if ( UART_RxHead == UART_RxTail ) return -1;<br /><br />    // obliczamy i zapamiętujemy nowy indeks „ogona węża” (może się zrównać z głową)<br />    UART_RxTail = (UART_RxTail + 1) &amp; UART_RX_BUF_MASK;<br />    // zwracamy bajt pobrany z bufora  jako rezultat funkcji<br />    return UART_RxBuf&#91;UART_RxTail&#93;;<br />}<br /><br />char * uart_get_str(char * buf) {<br />int c;  // &lt;----------- prawidłowy typ zmiennej<br />char * wsk = buf;<br />if( ascii_line ) {<br />while( (c = uart_getc()) ) {<br />if( 13 == c || c &lt; 0) break;<br />*buf++ = c;<br />}<br />*buf=0;<br />ascii_line--;<br />}<br />return wsk;<br /><br />}<br /><br />// definiujemy procedurę obsługi przerwania odbiorczego, zapisującą dane do bufora cyklicznego<br />ISR(USART_RX_vect) {<br /><br />    register uint8_t tmp_head;<br />    register char data;<br /><br />    data = UDR0; //pobieramy natychmiast bajt danych z bufora sprzętowego<br /><br />    // obliczamy nowy indeks „głowy węża”<br />    tmp_head = ( UART_RxHead + 1) &amp; UART_RX_BUF_MASK;<br /><br />    // sprawdzamy, czy wąż nie zacznie zjadać własnego ogona<br />    if ( tmp_head == UART_RxTail ) {<br />    // tutaj możemy w jakiś wygodny dla nas sposób obsłużyć  błąd spowodowany<br />    // próbą nadpisania danych w buforze, mogłoby dojść do sytuacji gdzie<br />    // nasz wąż zacząłby zjadać własny ogon<br />    UART_RxHead = UART_RxTail;<br />    } else {<br />    switch( data ) {<br />    case 0:// ignorujemy bajt = 0<br />    case 10: break;// ignorujemy znak LF<br />    case 13: ascii_line++;// sygnalizujemy obecność kolejnej linii w buforze<br />    default : UART_RxHead = tmp_head; UART_RxBuf&#91;tmp_head&#93; = data;<br />    }<br /><br />    }<br />}[/syntax]<br /><br />main:<br />[syntax=c]USART_Init( __UBRR );// inicjalizacja UART0<br />register_uart_str_rx_event_callback(parse_rs232);<br /><br />while(1)<br />{<br />uart_puts_P(&quot;hello&quot;);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8525">leeon</a> — 27 sty 2016, o 18:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KBCH]]></name></author>
<updated>2016-01-27T18:10:23+01:00</updated>
<published>2016-01-27T18:10:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151890#p151890</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151890#p151890"/>
<title type="html"><![CDATA[Re: USART Atmega328p, problem z wektorami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151890#p151890"><![CDATA[
Wrzuć cały kod jak przystało bo tak do niczego nie dojdziemy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=781">KBCH</a> — 27 sty 2016, o 18:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[leeon]]></name></author>
<updated>2016-01-27T18:00:51+01:00</updated>
<published>2016-01-27T18:00:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151889#p151889</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151889#p151889"/>
<title type="html"><![CDATA[USART Atmega328p, problem z wektorami]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14321&amp;p=151889#p151889"><![CDATA[
Witam, przerabiam bibliotekę z bluebook'a dla procka Atmega328p.<br />Spotkał mnie problem z wektorami, porównując je z notą wydają się być poprawne, jednak sypie błędami...<br /><br /><a href="https://obrazkiforum.atnel.pl/8525/275a272fdd46d2080f1998de386ed80e.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/8525/275a272fdd46d2080f1998de386ed80e.png" alt="Obrazek" /></a><br /><br />ktoś coś? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8525">leeon</a> — 27 sty 2016, o 18:00</p><hr />
]]></content>
</entry>
</feed>