Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 12:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 6 lis 2018, o 14:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Kłaniam się Kolegom,

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.
Tym razem padło na UART i bibliotekę MKUART.

Próbowałem ją przystosować do Atmega128 (na ATB Shield M128) i na początek spróbować coś wysłać na Putty.
Tak zrobiłem:
1. UART_TxBuf zdefiniowany
2. USART_Init jak poniżej:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

3. Przerwania załączone:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

4. Funkcje uart_putc oraz uart_puts niezmieniane
5. Wektor przerwania następujący:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Oczywiście wcześniej ustawione w pliku mkuart.h:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


No a w main.c coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jak widać, chcę wysłać string KRUMKRA.
Ale w terminalu dostaję tylko KR. Po resecie też KR

Proszę o wskazówki.
Czy wektor przerwania ISR( USART0_UDRE_vect) dobrze wybrany?
A może inicjalizacja UART niewłaściwa?

Boli mnie to, że chyba nic prostszego być nie może. To nawet nie odbieranie stringa, co pewnie przyniesie mi kolejne bóle.
Zwykłe wysłanie. Ale u mnie nie chce zaskoczyć.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2018, o 14:26 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2018, o 14:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

No dobra, niewiele dostałem, ale dzięki i za to.
Przyjrzę się temu początkowi.

Ale i tak się cieszę, że napisałem pierwszy program, który zachowuje się prawidłowo.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2018, o 14:34 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

masz pętlę główną w programie ?

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2018, o 16:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Bardzo dziękuję. Pomogło.
Jak zawsze.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2018, o 15:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Jeśli można, chcę ten wątek kontynuować, bo i moje obecne pytanie mieści się w formule.
Skąd się biorą te pytajniki w Putty po wciśnięciu Reset na uC?
Obrazek

To, że je wysyła uC to i ja wiem, ale dlaczego?
No i przede wszystkim, jak temu zapobiec?

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2018, o 16:20 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

chi.cygni napisał(a):
Skąd się biorą te pytajniki w Putty po wciśnięciu Reset na uC?


Bootloader - no wystarczy obejrzeć PODSTAWOWE poradniki o MkBootloaderze - a przecież nie jest ciężko się tego doszukać bo jest na głównej stronie Atnela

https://atnel.pl/mkbootloader.html

------------------------ [ Dodano po: 1 minucie ]

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

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2018, o 19:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 mar 2014
Posty: 150
Lokalizacja: Staszów
Pomógł: 12

Gdy napisałeś "Bootloader", rzeczywiście przypomniał mi się ten fragment poradnika, gdy była mowa o generowaniu BLS
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.
I te pytajniki tą prawidłową komunikację sygnalizowały.

mirekk36 napisał(a):
(...) a przecież nie jest ciężko się tego doszukać bo jest na głównej stronie Atnela

No żaden problem, absolutnie. Nawet nie trzeba pisać gdzie to jest. Tylko trzeba akurat wiedzieć CO jest problemem, czyli postawić diagnozę.
Lekarstwo się znajdzie. To o diagnozę najtrudniej. Ale mówię o sobie.

mirekk36 napisał(a):
(...) 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


Sam ręcami go resetuję, bo ten program to tylko "wyślij te trzy stringi". 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: "jestem gotów - dawaj"?). Zatem to najprostsze ćwiczenia. Ale przecież nic nie szkodzi main.c pokazać. Oto on:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ale te napotkane problemy i wyjaśnienia Kolegów na Forum prostują w głowie wiele.

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ść.

_________________
Ad augusta per angusta



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 lis 2018, o 21:52 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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 ;) Po co ci on? skoro na razie go nie używasz.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 13 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO