A/D Wandlung werte über RS232 schicken

Gast #552593
Lesenswert?

Hi,

ich will mit einem Atmega8 Controller eine Spannung messen diese Wandeln
und per RS232 an Hyperterminal schicken. RS232 Kommunikation klappt.
Problem 10 bit A/D Wert 8 bit über RS232, wie löse ich das? Nacheinander
einlesen?
Weiteres Problem will z.B jede ms einen Messwert, mach ich das übern A/D
Wandler Takt oder per Interrupt?
Persönliche Seite #552595
Lesenswert?

> Problem 10 bit A/D Wert 8 bit über RS232, wie löse ich das? Nacheinander
> einlesen?

Die empfangenen daten am Hypertminal sind einzelne Zeichen. Wenn du den 
Messert als Wert (zB 785) am Hyperterminal sehen willst, musst du vorher 
im µC die Zahl in einen String umwandeln und den Schickst du dann über 
den UART raus.

> Weiteres Problem will z.B jede ms einen Messwert, mach ich das übern A/D
> Wandler Takt oder per Interrupt?

Was meinst du mit Interrupt genau?? Ich wrde einen Timer initialisieren, 
der alle 1ms einen Interrupt auslöst. Und in der Interruptroutine würde 
ich eine AD Wandlung starten. Oder nur ein Flag setzen und das Flag in 
der Main pollen.

mfg Robert
Gast #553215
Lesenswert?

Ach eins noch, das mit dem String senden werde ich dann wohl 
hinbekommen.
Wie kann ich denn jeden Wert in einen neue Zeile packen, so das ich mit 
Excel arbeiten kann? Kann ich dafür dir mir bekannten C-Befehle nutzen?
Gast #555646
Lesenswert?

Noch eine Anmerkung zur Zeit: Da ich ja jede ms abtasten will, macht es 
ja Sinn jede ms einen Interrupt auszulösen, der die A/D Wandlung 
startet, nur die Wandlung selber dauert ja auch 250us? Wie kann ich 
diesen Einfluss reduzieren?
Gast #556782
Lesenswert?

Da gibts keine Einfluß zu reduzieren. Du kannst den Timer so einstellen, 
dass er zyklisch alle 1ms einen Interrupt auslöst. Sollte dieser Mode 
nicht vom Controller unterstützt werden, mußt Du als erstes den Timer in 
der Interruptroutine zurücksetzen und neu starten. Der Timer läuft ja 
weiter, so lange Deine Wandlung dauert, wenn es das ist, was Du 
befürchtest.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren