Gast
#1655898
Hallo zusammen Momentan habe ich ein Projekt am lauffen, das mit Hilfe eines ATmega164 eine Baudrate eines externen PC's messen sollte. Ich habe das RS232 Signal über einen Pegelwandler (MAX232) an den int0 Eingang des AVR's angeschlossen. Meine Idee ist, dass ich ein bestimmtes Zeichen über das Hyperterminal unter Windows sende, und sobalt dieses Zeichen über RS232 am int0 Eingang des AVR anliegt, einen Timer starte(also auf die Negative Flanke) und die Uebertragungszeit eines Baudes messe. Danach kann ich die ermittelte Zeit auf eine Sekunde hochrechen, um auf die Baud/Sekunde zu kommen. Schlussendlich soll geprüft werden, ob die Baudrate des externen PC's in einer gewissen Toleranz liegt. Als PASS/FAIL Anzeige steuere ich ein grünes bzw. rotes LED an. Programmiert wird das Ganze in C. Zum Problem: Ich habe keine Ahnung wie ich die Interrupt und Timer Funktion des AVR's nutze. Ich habe mich bereits in das Thema Timer/Interrupt eingelesen, werde aber daraus nicht schlau. Ausserdem weiss ich nicht welches Zeichen sich am besten für die Uebertragung eignet, idealerweise sollte es ja aus bloss zwei Flanken bestehen. Ich sollte möglichst rasch mit dem Projekt fertig werden. Leider habe ich praktisch keine Erfahrung was das Programmieren von AVR's mit WinAVR angeht. Ich wäre euch sehr dankbar, wenn ihr mir mit etwas Code nachhelfen könnt. MFG Nick