Witam!
Przed napisaniem tematu znalazłem coś takiego
z linku https://www.elektroda.pl/rtvforum/topic1953588.html
I w istocie myślałem, ze dopisanie linijki kodu zaproponowanej przez użytkownika Andrzeja_S pomoże, niestety nie przyniosło to oczekiwanego rezultatu.
Chcę wysłać do medzi z Terminala znak i wyświetlić go na LCD.
Rzecz jasna z noty katalogowej wykorzystałem instrukcje nadawania i odbierania + wysyłanie ciągu znaków do PC.
Naskrobałem coś takiego:
I sądziłem, że program "zatrzyma się" w pętli oczekując na znak z PC i dioda podłączona do PD5 się nie zaświeci, jednak jest inaczej, pozostałe diody się zapalają, na LCD wyświetla sie krzak, a w terminalu <0> ASCII lub 00 hexem.
KIlka godzin wcześniej doszedłem do momentu, w którym uC czekał, aż przypisze do zmiennej c znak wysłany z PC, ale pomimo wpisania znaku w terminalu szesnastkowo lub ASCII program "nie poszedł" dalej, a na wyświetlaczu LCD pusto.
Kwarc 16 Mhz, fusy OK wysłanie znaku/ciągu znaków do terminala przebiega prawidłowo, kabel ca-42 rx/tx/masa do medzi.
Problem jest na pewno obity wiele było tematów, nie znalazłem konkretnego oprócz w/w linku.
Proszę o pomoc gdzie popełniłem błąd
Pozdrawiam
Przed napisaniem tematu znalazłem coś takiego
Cytat:Twoja funkcja USART_Receive() sprawdzi, czy flaga RXC jest ustawiona i - jeśli nie - zakończy działanie, zwracając właściwie trudno mi określić co. Trudno określić, bo funkcja zwraca niezainicjowaną zmienną, której - w przypadku, gdy RXC=0 - nie przypisujesz żadnej wartości. Nie wiem też co z tym kodem zrobi optymalizacja. W zasadzie definiowanie zmiennej lokalnej data wewnątrz funkcji nie jest konieczne. Wystarczy return UDR;
Istotą pętli while() wewnątrz funkcji USART_Receive() jest oczekiwanie na ustawienie flagi RXC i dopiero później zwrócenie zawartości rejestru UDR, więc powinna ona wyglądać tak, jak zaproponowałem.
z linku https://www.elektroda.pl/rtvforum/topic1953588.html
I w istocie myślałem, ze dopisanie linijki kodu zaproponowanej przez użytkownika Andrzeja_S pomoże, niestety nie przyniosło to oczekiwanego rezultatu.
Chcę wysłać do medzi z Terminala znak i wyświetlić go na LCD.
Rzecz jasna z noty katalogowej wykorzystałem instrukcje nadawania i odbierania + wysyłanie ciągu znaków do PC.
Naskrobałem coś takiego:
Kod: C / C++
I sądziłem, że program "zatrzyma się" w pętli oczekując na znak z PC i dioda podłączona do PD5 się nie zaświeci, jednak jest inaczej, pozostałe diody się zapalają, na LCD wyświetla sie krzak, a w terminalu <0> ASCII lub 00 hexem.
KIlka godzin wcześniej doszedłem do momentu, w którym uC czekał, aż przypisze do zmiennej c znak wysłany z PC, ale pomimo wpisania znaku w terminalu szesnastkowo lub ASCII program "nie poszedł" dalej, a na wyświetlaczu LCD pusto.
Kwarc 16 Mhz, fusy OK wysłanie znaku/ciągu znaków do terminala przebiega prawidłowo, kabel ca-42 rx/tx/masa do medzi.
Problem jest na pewno obity wiele było tematów, nie znalazłem konkretnego oprócz w/w linku.
Proszę o pomoc gdzie popełniłem błąd
Pozdrawiam