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



Teraz jest 20 mar 2026, o 07:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 11 paź 2016, o 22:21 
Offline
Nowy

Dołączył(a): 08 paź 2016
Posty: 21
Pomógł: 0

Witam, mam problem z wyświetlaniem znaków wysłanych z terminala do ATmegi8 i następnym wyświetleniu ich na wyświetlaczu LCD.
Postępowałem wg BlueBooka, następnie dodałem flagę RxFlag w przerwaniu USART_RXC_vect, gdzie flaga przyjmuje wartość 1 jeśli zostanie zgłoszone przerwanie.
Następnie flaga jest zerowana poprzez wywołanie funkcji UartReceive(), która jednocześnie zwraca wartość rejestru UDR.
Kod wygląda następująco:
Kod:
int main(void)
{
   LcdInit();
   UartInit();
   CLR();
   while(1)
   {
      if(RxFlag) Lcd1Z(UartReceive());
   }
}


A i Lcd1Z() to funkcja wysyłająca 1 znak do LCD, nie czeka ona na znak NULL.
Jeśli wysyłam jakieś znaki z terminala, to zamiast nich na LCD uzyskuję jakieś krzaczki:

[img]file:///C:/Users/home/Desktop/httpforum.atnel.pltopic16438.html.jpg[/img]

Pomóżcie, bo nie wiem w czym problem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2016, o 07:32 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Pokaż kod tej funkcji: UartReceive(), oraz tego przerwania. Baudrate masz dobrze ustawiony? Jaki kwarc? Czy jeśli z PC wysyłasz jeden znak -> to na wyświetlaczu dostajesz jeden krzak? Czy funkcja Lcd1Z('A') wyświetla znak 'A' na wyświetlaczu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 paź 2016, o 18:20 
Offline
Nowy

Dołączył(a): 08 paź 2016
Posty: 21
Pomógł: 0

Przepraszam za długą nieobecność. To tak, sąto takie funkcje:

Źle wstawiony listing - Usunięty, Zielono - Różowy J.

Procesor jest taktowany wewnętrznym oscylatorem 8MHz, brak kwarca.
Jak wysyłam jeden znak z terminala to na wyświetlaczu otrzymuje jeden krzaczek.

Jeśli wgram taki kod to na LCD co 0,5 sekundy wyświetla mi się literka A.

------------------------ [ Dodano po: 2 minutach ]

A i dodam że jak wysyłam znaki ascii z ATmegi do PC to terminal je dobrze odbiera :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 paź 2016, o 07:03 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3230
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

topic7402.html

_________________
http://www.jaglarz.info



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

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO