Hallo, Ich muss die Spannung eines Transistors überprüfen und eine Variable dann um 1 erhöhen wenn die Spannung über einen bestimmten Wert geht. Das Problem ist das ich die spannung mit ca 500Hz überprüfen muss. Wie mache ich das am besten ohne das das hauptprogramm davon viel belastet wird?(analog comparator?, adc?) Ich benutze einen Atmega 8 und programmiere in C(Avr Studio). Gruss, herbert
Du hast doch Deine Frage in der Überschrift schon selbst beantwortet :-) lg, Frank
Wenn ich wüsste wie der funktioniert, würde ich wohl kaum schreiben...
Wie ich das mit dem analog comparator umsetze und ob ich da einen adc auch brauche. ich möchte das hauptprogramm dadurch nciht belasten!
Das steht im Datenblatt, etwa ab Seite 201. Da findest Du auch was zu Interrupts. Frank
bam danke für deine detaillierten erläuterungen und hilfreichen antworten,...du hast mich um genau nichts weitergebracht...^^
Hallo, 500Hz Timer-Interrupt, in der IRQ-Routine den Analog-Komparator-Status einlesen und bei 1 die Variable erhöhen und raus, sonst gleich raus. Kostet wenige CPU-Zyklen und läuft nebenher, wenn das Dein Zeil ist. Gruß aus Berlin Michael
Wozu, der Komparator kann doch selbst den Interrupt erzeugen, wenn der Vergleichswert über/unterschritten wird. Frank.
Hallo, dann muß er noch überwachen, wann der Wert wieder unterschritten wird, sonst hat er ständig Interrupts. Außerdem habe ich seine mit 500Hz messen so interpretiert, daß er eine Art Anzahl der Überschreitungen in einerm Zeitraum braucht. So richtig konkret ist ja seine Fragestellung nicht. ;-) Gruß aus Berlin Michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.