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



Teraz jest 20 kwi 2024, o 08:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 3 lip 2018, o 18:09 
Offline
Użytkownik

Dołączył(a): 08 lut 2015
Posty: 132
Pomógł: 4

Witam.
Mam pewien problem z biblioteką do UART'a z BB. Jest wgrana na dwa procki ATmega8 i ATmega16. Komunikacja z putty na każdym z nich działa bez problemu w obie strony. Problem pojawia się gdy podepnę 2 procki ze sobą. W przerwaniu odbioru po znaku return (\r - 13) powinna nastąpić inkrementacja linii i obsługa zarejestrowanego callbacka.
Problem polega na tym, że przy użyciu funkcji puts("Test\r") drugi procek nie odbiera znaku końca linii '\r'. Natomiast po wysyłaniu każdego znaku z przykładowo sekundowym delayem znak 'r' jest odbierany. Sprawdziłem to migającą diodą.
Procki są taktowane 16MHz kwarcem, a prędkość UART to 0,5 Mbps. Od razu dodam, że wpiąłem się również przejściówą RS232-USB do procesora, który wysyła dane (m16) i w putty wszystko wygląda ok. Więc jest to problem w przewaniu odbierającym dane.

Dodatkowo testowałem odbiór danych terminalem HTerm, który nie wysyła znaków pojedyńczo po każdym kliknięciu (jak putty), lecz jednym ciągeim i w tym przypadku również występuje ten sam problem.

Czy ktoś z was używał i testował kiedyś te biblioteki z BB do wysyłania danych między prockami? Ktoś miał kiedyś taki problem? Być może jest to wina prędkości uarta w moim przypadku, albo bug w kodzie.

Proszę o porady w tej sprawie.
Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2018, o 19:00 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 544
Pomógł: 27

Coś nieźle namieszałeś w kodzie bo w BB nie było calbacka w bibliotece



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2018, o 19:06 
Offline
Użytkownik

Dołączył(a): 08 lut 2015
Posty: 132
Pomógł: 4

Owszem, pomyliłem BB z GB, gdzie jest callback dodany (lekcja 21 - uart-ascii-at)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2018, o 20:12 
Offline
Moderator
Avatar użytkownika

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

a może masz starsze wydanie książki i nie zaglądasz nigdy na stronę wydawnictwa

http://atnel.pl/uaktualnienia-programow-do-dvd.html

a tam masz dla GB

Cytuj:
W bibliotece MK_USART (plik mkuart.c) w lekcji L21_UART_ASCII_AT wkradł się mały błąd w funkcji uart_get_str() - strona 402 w książce


i link po prawej z wyjaśnieniem

_________________
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: 5 lip 2018, o 17:54 
Offline
Użytkownik

Dołączył(a): 08 lut 2015
Posty: 132
Pomógł: 4

Niestety w 1 poście pojawił się błąd, który mógł zmniejszyć czujność. Jeden z procesorów (m8) był taktowany z prędkością 8MHz wewnętrznym oscylatorem i zasilany napięciem 3,3V ze wezlędu na kompatybilność z innymi urządzeniami peryferyjnymi.
Problem polegał na tym, że odbierane dane nie były poprawne ze względu na niedokładne taktowanie. Rozwiązaniem była kalibracja rejestru OSCCAL lub wymiana na zewnętrzny kwarc 8MHz.
W tym przypadku zdecydowałem się na wykorzystanie zewnętrznego kwarca, gdyż myśle, że będzie działał stabilniej niż wewnętrzny oscylator, a dodatkowo układ może pracować w różnych warunkach atmosferycznych.
Dziękuję również za podpowiedź dotyczącą uaktualnienia kodu źródłowego.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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