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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.