Poradnik zawiera:- Minimalny opis Terminala v1.9b
- Prosty program który spowoduje:
a. odebranie litery A przez Atmega644p, wysłanej „ręcznie” z terminala
b. odesłanie po jednej sekundzie tej litery z powrotem do terminala i wyświetlenie jej.
Terminal to program zainstalowany na PC. Symuluje on Nadajnik/Odbiornik transmisji szeregowej, tu RS232C.
Autor użył terminala putty.exe. Proponuję Terminal v1.9b.
W rozdziale „5.8 Komunikacja RS232/RS485” niebieskiej książki Autor słusznie przyjął, że czytelnik zna ogólne założenia transmisji szeregowej RS232C oraz chociaż jeden symulator Nadajnika/Odbiornika RS232C. Poradnik przeznaczony jest więc dla tych, którzy nie są orłami. Sam musiałem się się kopać z tym tematem. Mam nadzieję, że ktoś skorzysta z tej grafomanii.
Załączony program umożliwia 2 kierunki transmisji
„Terminal v1.9b → Atmega”
„ Atmega → Terminal v1.9b”
W książce podano działający program tylko dla jednego kierunku „ Atmega644p → Terminal v1.9b”.
Ogólne założenia RS232C - patrz wątek Forum
topic1944.htmlMinimalny opis Terminala v1.9bProgram jest darmowy i łatwo się ściąga z internetu. Tu chyba nie będzie problemu
Możemy:
- ręcznie nadawać znak lub ciągi znaków z terminala do procka
- odbierać i wyświetlać w terminalu znak lub ciągi znaków z procka
Opis najważniejszych pól terminalaObrazek źle wstawiony - Różowo-zielony J.Pole "Ogólne" -To wszystko co widzisz nad napisem „Receive”
Omawiane „podpola” A,B,J,K służą do nastawiania ogólnych parametrów transmisji.
A – „Connect”. Gdy widzisz napis „Connect” to terminal jest odłączony od procka.
Wciśnięcie podłącza go do terminala. Wtedy „Connect” zmieni się na „Disconect” i
terminal będzie czekał na odłączenie procka poprzez wciśnięcie tego przycisku.
Czyli mały paradoks.
Napis „Connect” oznacza, że procek jest odłączony a „Disconect”-włączony.
J - Port podłączony do procka, tu COM3. Twój komputer sam stworzy listę tych portów, a
Ty wybierzesz tylko właściwy. Podpowiadam, że nazwa tego portu pojawia się przy
hardwarowym przycisku RESET na ekranie w Eclipse.
B - Nastawa parametrów transmisji. Tu 9600 baudów, 8 bitów, bez bitu parzystości, jeden
bit stopu, bez handshake'-u (jeżeli nie wiesz co to za diabeł, to się nie przejmuj).
Nastawy muszą być takie same jak w załączonym programie
K - „Quit” wyjście z programu
Pozostałe podpola "Ogólne" - można bez nich żyć.
Pole „Receive” Obsługuje odbiór. Czyli transmisję „Atmega644p -->Terminal v1.9b”
Po wciśnięciu przycisku „Connect” (czyli gdy napis zmieni się na „Disconect”) terminal nasłuchuje co wysłała końcówka Tx Atmegi 644p
E - Tu pojawiają się w/w odebrane znaki
D - Forma w/w znaków:
- ASCII widzisz literę (np. „C”)
- HEX kod hexa tej litery itd...
Nie bardzo pamiętam czym różni się HEX od Hex, proponuję sprawdzić.
Gdy zaznaczę kilka form, to na polu E pojawi się też kilka tych form
C – „Clear” Czyści pole E
Pozostałe podpola „Receive” - można bez nich żyć.
Uwaga!!!
Wejścia programujące procesor i wejścia Tx i Rx nie mogą być jednocześnie włączone! Będą się gryzły.
Dlatego gdy testujesz np. „Atmega644p -->terminal v1.9b”, to zachowaj kolejność:
- zaprogramuj procka
- wciśnij na programowy przycisk RESET uruchamiając program na procku
- włącz program Terminala (kliknij 2 razy ikonę terminala)
- ustaw parametry RS232C („podpole B”)
- wciśnij „Connect”
Jeżeli procek nadaje, to powinny pojawić się znaki na polu E.
Pole „Transmit” Obsługuje nadawanie czyli „terminal v1.9b --> Atmega644p”
G – Bufor znaków do wysłania do procka. Można przygotować 1 lub kilka znaków. Jeżeli w
polu tym zaznaczymy +CR to dodamy znak „Nowa linia”
I - „Send” przycisk wysyła znaki z bufora G do procka
H – Historia wysłanych znaków
F - „CLEAR” - czyszczenie G
Pozostałe podpola „Transmit” - można bez nich żyć.
Uwaga:
W polu „Receive” E jest odpowiednikiem H. Z oczywistych powodów nie występuje w nim odpowiednik bufora G.
Jeszcze raz podkreślę że:
- wciśnięcie „Connect” łączy końcówki Rx i Tx terminala z końcówkami Tx i Rx procka.
- wciśnięcie „Disconnect” odłącza.
Testowanie załączonego programu na Atmega 644p.Proszę:
-załadować do procka program
- uruchomić go
- uruchomić Terminal v1.9b.
- Wcisnąć „Connect”
- Wpisz do pola G np. znak „A”
- Wciśnij przycisk "Send" (pole"I")
.
Teraz Terminal wyśle znak do procka, procek „przytrzyma” go przez sekundę i odeśle z powrotem do terminala. Na polu E powinno pojawić się „A”
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.