[MEGA16|FT232]Odczyt danych z UART'a

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
hagop
-
Posty: 16
Rejestracja: 15 maja 2009, 18:53
Lokalizacja: Słupsk

[MEGA16|FT232]Odczyt danych z UART'a

Post autor: hagop » 16 maja 2010, 14:45

Witam

Połączenie: Port USB -> FT232 -> Atmega16

Schemat:

Obrazek
Obrazek



Oto kod programu:

Kod: Zaznacz cały

$regfile = "m16def.dat"

$crystal = 7372800

$baud = 19200

Dim Akey As Byte


Print "Hello, hit any alphanumerical key..."

Do

    Akey = Waitkey()

  Print Akey

Loop

End
Powinno to chyba działać tak:
Podłącze to do USB i resetuje. Po resecie urządzenia otrzymuje w terminalu tekst:
"Hello, hit any alphanumerical key...". Po naciśnięciu np "a" na klawiaturze powinienem otrzymać znak "a" w terminalu. A wygląda to tak że po resecie otrzymuje wiadomość a po naciśnięciu jakiegokolwiek przycisku nic się nie dzieje. Miga jedynie dioda odpowiedzialna za RXD (CBUS0). Czy w kodzie jest błąd czy to ja nie potrafię obsługiwać Hyperterminalu?

kaliska5
Użytkownik
Posty: 348
Rejestracja: 01 maja 2008, 8:24
Lokalizacja: z nienacka
Kontakt:

Post autor: kaliska5 » 16 maja 2010, 15:53

Może spróbuj jakiegoś innego terminala.

hagop
-
Posty: 16
Rejestracja: 15 maja 2009, 18:53
Lokalizacja: Słupsk

Post autor: hagop » 16 maja 2010, 16:03

próbowałem w Hyperterminalu, Docklight i jeszcze jakiś inny bardzo skomplikowany i otrzymywałem tylko wiadomości od układu. Port RXD w atmedze jest sprawny (ostawiałem na nim 1 i 0).

Awatar użytkownika
Pikczu
Użytkownik
Posty: 754
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 16 maja 2010, 18:03

Witam kod jest dobry bo testowałem,(na innym procku mega128 i kwarc 11Mhz) użyj terminala w bascomie działa na 100%
Sprawdź może masz echo włączone w terminalu.

hagop
-
Posty: 16
Rejestracja: 15 maja 2009, 18:53
Lokalizacja: Słupsk

Post autor: hagop » 16 maja 2010, 19:44

spróbowałem i dalej to samo.

Obrazek

nie reaguje na żaden przycisk naciśnięty na klawiaturze. co to jest to echo i gdzie je wyłączyć?

Awatar użytkownika
Pikczu
Użytkownik
Posty: 754
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 16 maja 2010, 20:39

To co napisałem powyżej na temat echa jest nie ważne.
Źle przeczytałem twój post i myślałem że ci wysyła tą wiadomość dwa razy.
Echo jest to opcja która wraca wysłane znaki.

Ale widzę że u Ciebie jest problem z rx-em sprawdź połączenia odepnij procesor i zrób mostek na tx i rx tego układu FT... jeśli będziesz pisał w terminalu powinieneś widzieć znaki w oknie terminala które właśnie wysłałeś.

hagop
-
Posty: 16
Rejestracja: 15 maja 2009, 18:53
Lokalizacja: Słupsk

Post autor: hagop » 16 maja 2010, 23:05

atmega i ft232 to są smdziaki... a miałem taką ładną płytkę. przeciąłem ścieżki przy atmedze (bo tam jest najwięcej miejsca na późniejsza naprawę). zrobiłem zwarcie między TX i RX ft232 i teraz chodzi (na terminalu bascoma nie).

Linie RX atmegi połączyłem na pająka i działa. Ścieżka RX atmegi przechodzi pod kwarcem. Czy to możliwe ze zakłócenia od kwarcu powodują brak odbioru danych? Linia TX idzie już obok kwarcu i z ta linia nie bylo żadnych problemów.

Awatar użytkownika
Pikczu
Użytkownik
Posty: 754
Rejestracja: 18 lip 2005, 18:33
Lokalizacja: Dublin
Kontakt:

Post autor: Pikczu » 17 maja 2010, 19:07

Wydaje mi się ze ten kwarc nie powinien robić zakłóceń. Ale może mi się tylko wydawać.
Zawsze możesz go odpalić na wewnętrznym 8Mhz z procka a tego odlutować dla testu.
Zastanawia mnie dlaczego bascom-owy terminal Ci nie działa. Może miałeś inny otwarty na ten sam comport w tym samym czasie?

Awatar użytkownika
marcing
Użytkownik
Posty: 868
Rejestracja: 14 lut 2006, 14:13
Lokalizacja: z pociągu...
Kontakt:

Post autor: marcing » 18 maja 2010, 15:15

hagop pisze:Ścieżka RX atmegi przechodzi pod kwarcem. Czy to możliwe ze zakłócenia od kwarcu powodują brak odbioru danych?
Raczej podejrzewałbym zwarcie ścieżek poprzez metalową obudowę rezonatora...

ODPOWIEDZ