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



Teraz jest 10 mar 2025, o 00:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 25 maja 2017, o 20:34 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Cześć. Chciałbym zapytać czy trafiacie na błędy w notach katalogowych mikrokontrolerów AVR.

Zastanawiam się też, czy to co widzę w nocie:http://www.atmel.com/Images/Atmel-8155-8-bit-Microcontroller-AVR-ATmega32A_Datasheet.pdf to błąd.

Proszę zobaczyć, że w przykładach kodu do inicjalizacji UART-a

a). w przypadku asm posłużono się nazwami rejestrów: UBRRL oraz UBRRH
b). w przypadku C posłużono się nazwami rejestrów: UBRR0L oraz UBRR0H

Niechlujstwo i niedbałość, czy może założono jakiś inteligentny kompilator C, który "poradzi" sobie zarówno z obiema nazwami rejestrów?

Obrazek

Jakkolwiek, by nie było, myślę, że warto o tym wspomnieć, jeśli będzie planowany kolejny odcinek z RS232.

Dodam, że kompilator użyty według tutoriali pana Mirka ze środowiskiem Eclipse nie radzi sobie (w przypadku Atmega32) z nazwami sugerowanymi przez datasheet w przykłądowym kodzie na inicjalizację:

Obrazek

a po zmianie (jak na przykłądzie kodu ASM), problem znika:

Obrazek










Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 maja 2017, o 22:12 
Offline
Moderator
Avatar użytkownika

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

no są drobne błędy ale bez przesady panie kochany ....

ZASADA w atmelu jest bardzo fajna ... jak masz JEDEN UART w procku o nie ma żadnego numerku typu

UBRR0H
UBRR0L // UART0

UBRR1H
UBRR1l // UART1 np w procku ATmega644P

a w ATmega32 będziesz miał

UBRRH
UBRRL

bo jest TYLKO JEDEN UART - uwierz mi to dość prosta zasada

_________________
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: 26 maja 2017, o 04:53 
Offline
Użytkownik

Dołączył(a): 18 sty 2015
Posty: 170
Pomógł: 0

Przyjmuję tę zasadę (postaram się zapamiętać), jak również uważam, że "brzydko" i nieprofesjonalnie wyglądają takie nieścisłości w oficjalnych dokumentach tak znanego dostawcy mikrokontrolerów. Zwłaszcza, że sytuacja była niemal identyczna w dwóch notach z brzegu, za jakie chwyciłem (Atmega32 oraz Atmega644P). 644P ma dwa uarty, ale tam z kolei nazwa innego rejestru była przekręcona.

Morał z tego taki, trzymając nawet oficjalny dokument Atmela w ręku warto mieć się na baczności. Przekręcanie nazw rejestrów pojawia się dosyć często (prawdopodobnie "jadą" z jakiegoś uniwersalnego szablonu do not, i przykładowo fragment w ASM potrafi odnosić się do "innych" rejestrów, a fragment w C do innych. Oczywiście i tak miło z ich strony, że w ogóle zamieszczają przykładowe kody źródłowe.

Pozdrawiam.



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: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 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