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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-11-07T21:52:05+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=21536&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-11-07T21:52:05+01:00</updated>
<published>2018-11-07T21:52:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213530#p213530</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213530#p213530"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213530#p213530"><![CDATA[
krótko - jeśli nie chcesz tych znaków zapytania to skasuj Bootloader - po prostu programuj procka za pomocą programatora sprzętowego a sam się skasuje bootloader <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Po co ci on? skoro na razie go nie używasz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 7 lis 2018, o 21:52</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chi.cygni]]></name></author>
<updated>2018-11-07T19:14:45+01:00</updated>
<published>2018-11-07T19:14:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213521#p213521</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213521#p213521"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213521#p213521"><![CDATA[
Gdy napisałeś &quot;Bootloader&quot;, rzeczywiście przypomniał mi się ten fragment poradnika, gdy była mowa o generowaniu BLS<br />i informacja, że te znaki pytajnika latają, gdy jeszcze nie ma wgranego programu do pamięci Flash, pod warunkiem, że jest ustanowiona prawidłowa komunikacja.<br />I te pytajniki tą prawidłową komunikację sygnalizowały.<br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />(...) a przecież nie jest ciężko się tego doszukać bo jest na głównej stronie Atnela<br /></div><br />No żaden problem, absolutnie. Nawet nie trzeba pisać gdzie to jest. Tylko trzeba akurat wiedzieć CO jest problemem, czyli postawić diagnozę.<br />Lekarstwo się znajdzie. To o diagnozę najtrudniej. Ale mówię o sobie.<br /><br /><div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />(...) poza tym skoro co chwilę ci się one pokazują w terminalu to albo sam wciąż resetujesz procka albo coś źle zaprogramowałeś i procek sam się resetuje - bez kodu main.c to można tylko bawić się w jasnowidza<br /></div><br /><br />Sam ręcami go resetuję, bo ten program to tylko &quot;wyślij te trzy stringi&quot;. I na uC jest zainstalowany Bootloader, zatem po RESET ten Bootloader jakoś pewnie czeka na wgranie wsadu (tak myślę) i pewnie on coś wysyła (czyżby: &quot;jestem gotów - dawaj&quot;?). Zatem to najprostsze ćwiczenia. Ale przecież nic nie szkodzi main.c pokazać. Oto on:<br /><br />[syntax=c]*<br /> *  Created on: 2018-11-06<br /> *       Autor: Mariusz<br /> */<br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;MKUART/mkuart.h&quot;<br /><br /><br />int main(void) {<br /><br />    USART_Init( __UBRR );            // inicjalizacja UART<br /><br />    sei();                            // globalne odblokowanie przerwañ<br /><br />    while(1) {<br />    uart_puts(&quot;Krumkra&quot;);        // wyœlij tekst<br />    uart_putc('\r');            // wyœlij znak CR (enter)<br />    uart_putc('\n');            // wyœlij znak LF (nowa linia)<br />    uart_puts(&quot;Brumkra&quot;);        // wyœlij tekst<br />    uart_putc('\r');            // wyœlij znak CR (enter)<br />    uart_putc('\n');            // wyœlij znak LF (nowa linia)<br />    uart_puts(&quot;Rarumkra&quot;);        // wyœlij tekst<br />    uart_putc('\r');            // wyœlij znak CR (enter)<br />    uart_putc('\n');            // wyœlij znak LF (nowa linia)<br />    }<br />}[/syntax]<br /><br />Ale te napotkane problemy i wyjaśnienia Kolegów na Forum prostują w głowie wiele. <br /><br />Obejrzę poradnik raz jeszcze, ale już teraz wiem, że mam kilka następnych wątpliwości, czy uwag w tym temacie. Dziękuję za pomoc i życzliwość.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3240">chi.cygni</a> — 7 lis 2018, o 19:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-11-07T16:20:20+01:00</updated>
<published>2018-11-07T16:20:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213517#p213517</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213517#p213517"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213517#p213517"><![CDATA[
<div class="quotetitle">chi.cygni napisał(a):</div><div class="quotecontent"><br />Skąd się biorą te pytajniki w Putty po wciśnięciu Reset na uC?<br /></div><br /><br />Bootloader - no wystarczy obejrzeć PODSTAWOWE poradniki o MkBootloaderze - a przecież nie jest ciężko się tego doszukać bo jest na głównej stronie Atnela<br /><br /><!-- m --><a class="postlink" href="https://atnel.pl/mkbootloader.html" >https://atnel.pl/mkbootloader.html</a><!-- m --><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />poza tym skoro co chwilę ci się one pokazują w terminalu to albo sam wciąż resetujesz procka albo coś źle zaprogramowałeś i procek sam się resetuje - bez kodu main.c to można tylko bawić się w jasnowidza<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 7 lis 2018, o 16:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chi.cygni]]></name></author>
<updated>2018-11-07T15:48:22+01:00</updated>
<published>2018-11-07T15:48:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213516#p213516</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213516#p213516"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213516#p213516"><![CDATA[
Jeśli można, chcę ten wątek kontynuować, bo i moje obecne pytanie mieści się w formule.<br />Skąd się biorą te pytajniki w Putty po wciśnięciu Reset na uC?<br /><a href="https://obrazkiforum.atnel.pl/3240/235edb7d66c77bb874baa65cfac67d84.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/3240/235edb7d66c77bb874baa65cfac67d84.jpg" alt="Obrazek" /></a><br /><br />To, że je wysyła uC to i ja wiem, ale dlaczego?<br />No i przede wszystkim, jak temu zapobiec?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3240">chi.cygni</a> — 7 lis 2018, o 15:48</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chi.cygni]]></name></author>
<updated>2018-11-06T16:14:48+01:00</updated>
<published>2018-11-06T16:14:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213469#p213469</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213469#p213469"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213469#p213469"><![CDATA[
Bardzo dziękuję. Pomogło.<br />Jak zawsze.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3240">chi.cygni</a> — 6 lis 2018, o 16:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-11-06T14:34:48+01:00</updated>
<published>2018-11-06T14:34:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213466#p213466</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213466#p213466"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213466#p213466"><![CDATA[
masz pętlę główną w programie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 lis 2018, o 14:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chi.cygni]]></name></author>
<updated>2018-11-06T14:31:47+01:00</updated>
<published>2018-11-06T14:31:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213465#p213465</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213465#p213465"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213465#p213465"><![CDATA[
No dobra, niewiele dostałem, ale dzięki i za to.<br />Przyjrzę się temu początkowi.<br /><br />Ale i tak się cieszę, że napisałem pierwszy program, który zachowuje się prawidłowo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3240">chi.cygni</a> — 6 lis 2018, o 14:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2018-11-06T14:26:11+01:00</updated>
<published>2018-11-06T14:26:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213464#p213464</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213464#p213464"/>
<title type="html"><![CDATA[Re: Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213464#p213464"><![CDATA[
kłania się SAM początek książki o języku C i o pętli głównej programu, bez niej nie ma co ci działać i można wręcz powiedzieć, że twój program zachowuje się prawidłowo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 6 lis 2018, o 14:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[chi.cygni]]></name></author>
<updated>2018-11-06T14:21:44+01:00</updated>
<published>2018-11-06T14:21:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213463#p213463</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213463#p213463"/>
<title type="html"><![CDATA[Bufor cykliczny Atmega128 Nadawanie]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=21536&amp;p=213463#p213463"><![CDATA[
Kłaniam się Kolegom,<br /><br />Z trudem, ale w miarę systematycznie, przyswajam wiedzę z Mirkowego Bluebook'a, napotykając problemy, które następnie dzięki Kolegom z Forum są przezwyciężane.<br />Tym razem padło na UART i bibliotekę MKUART.<br /><br />Próbowałem ją przystosować do Atmega128 (na ATB Shield M128) i na początek spróbować coś wysłać na Putty.<br />Tak zrobiłem:<br />1. UART_TxBuf zdefiniowany<br />2. USART_Init jak poniżej:<br />[syntax=c]void USART_Init( uint16_t baud ) {<br /><br />    //Ustawienie baudrate<br />    UBRR0H = (uint8_t)(baud&gt;&gt;8);<br />    UBRR0L = (uint8_t) baud;<br />    //Aktywacja alternatywnych funkcji pinów PE0=Rx, PE1=Tx, wyłączenie ich normalnej funkcji IO<br />    UCSR0B |= (1&lt;&lt;RXEN0)|(1&lt;&lt;TXEN0);<br />    //Ustawienie formatu ramki danych: 1 bit stopu, 8 bitów danych<br />    UCSR0C |= (0&lt;&lt;USBS0)|(1&lt;&lt;UCSZ01)|(1&lt;&lt;UCSZ00);[/syntax]<br />3. Przerwania załączone:<br />[syntax=c]UCSR0B |= (1&lt;&lt;RXCIE0);<br />    UCSR0B |= (1&lt;&lt;UDRIE0);[/syntax]<br />4. Funkcje uart_putc oraz uart_puts niezmieniane<br />5. Wektor przerwania następujący:<br />[syntax=c]ISR( USART0_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 />        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 />    }[/syntax]<br />Oczywiście wcześniej ustawione w pliku mkuart.h:<br />[syntax=c]#define UART_BAUD 19200// tu definiujemy interesującą nas prędkość<br />#define __UBRR ((F_CPU+UART_BAUD*8UL) / (16UL*UART_BAUD)-1) // obliczamy UBRR dla U2X=0[/syntax]<br /><br />No a w main.c coś takiego:<br />[syntax=c]USART_Init( __UBRR );            // inicjalizacja UART<br /><br />    sei();                            // globalne odblokowanie przerwań<br /><br />    uart_puts(&quot;Krumkra&quot;);        // wyślij tekst<br />    uart_putc('\r');            // wyślij znak CR (enter)<br />    uart_putc('\n');            // wyślij znak LF (nowa linia)<br />}[/syntax]<br /><br />Jak widać, chcę wysłać string KRUMKRA.<br />Ale w terminalu dostaję tylko KR. Po resecie też KR<br /><br />Proszę o wskazówki.<br />Czy wektor przerwania ISR( USART0_UDRE_vect) dobrze wybrany?<br />A może inicjalizacja UART niewłaściwa?<br /><br />Boli mnie to, że chyba nic prostszego być nie może. To nawet nie odbieranie stringa, co pewnie przyniesie mi kolejne bóle.<br />Zwykłe wysłanie. Ale u mnie nie chce zaskoczyć.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=3240">chi.cygni</a> — 6 lis 2018, o 14:21</p><hr />
]]></content>
</entry>
</feed>