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



Teraz jest 30 mar 2026, o 20:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 5 lis 2015, o 22:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 gru 2013
Posty: 121
Lokalizacja: Gliwice
Pomógł: 2

Witam
Majstrowałem sobie dzisiaj przy bibliotece z GB od obsługi uarta z callbackami. Wszystko ładnie chodziło ale coś musiałem poknocić i biblioteka zaczęła się wieszać na funkcji UART_PUTS. Starałem się znaleźć przyczynę problemu ale doszedłem jedynie do tego, że wiesza się ona w funkcji UART_PUTC a dokładnie w pętli która sprawdza czy bufor nie jest przepełniony. Najdziwniejsze jest to, że fukncja UART_PUTC działa normalnie ale jak dodam gdziekolwiek w kodzie UART_PUTS to cały program napisany się zawiesza.

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


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

_________________
TFT 4.3" + ATB GLCD TFT



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2015, o 23:08 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam.

Wszystko wskazuje na to, że najprawdopodobniej coś zepsułeś w funkcji ISR(USART_URDE_vect), bo ona oblicza na nowo indeks "ogona węża" i dlatego możesz wysłać tylko 1 znak przez UART. Funkcji uart_puts(char *s) nie zepsułeś, zresztą za bardzo nie ma co w niej popsuć ;-).

Pozdrawiam, QuadMan.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2015, o 15:37 
Offline
Użytkownik

Dołączył(a): 05 lut 2014
Posty: 252
Lokalizacja: obok Częstochowy
Pomógł: 14

A krótsze teksty idą? Jak masz bufor nadawczy 32 bajty to ten konkretny tekst z twojego main.c jest za długi.



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

Dołączył(a): 05 gru 2013
Posty: 121
Lokalizacja: Gliwice
Pomógł: 2

Może coś spierniczyłem przy inicializacji. Proszę o sprawdzenie czy dobre rejestry powpisywałem.

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


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


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

Rafał555 napisał(a):
A krótsze teksty idą? Jak masz bufor nadawczy 32 bajty to ten konkretny tekst z twojego main.c jest za długi.

Z tego co mi się wydaje to ten ciąg znaków powinien się poprawnie wyświetlić. Najwyżej było by chwilowe oczekiwanie w pętli na zwolnienie się bufora

_________________
TFT 4.3" + ATB GLCD TFT



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2015, o 17:54 
Offline
Użytkownik

Dołączył(a): 05 lut 2014
Posty: 252
Lokalizacja: obok Częstochowy
Pomógł: 14

4MaticPL napisał(a):
Z tego co mi się wydaje to ten ciąg znaków powinien się poprawnie wyświetlić. Najwyżej było by chwilowe oczekiwanie w pętli na zwolnienie się bufora


Oczywiście sprawdziłeś, czy wyświetli się krótszy tekst? Ja nie mam jak tego teraz sprawdzić, ale może za długim tekstem nadpisujesz '\0' na końcu stringa.
A może coś masz dopisane po "else" tam gdzie jest obsługa błędu przepełnienia bufora.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2015, o 18:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

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

?

Pozdr.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lis 2015, o 22:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 gru 2013
Posty: 121
Lokalizacja: Gliwice
Pomógł: 2

ehh faktycznie. Szkoda słów

_________________
TFT 4.3" + ATB GLCD TFT



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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