Ich suche C-Code für den Zugriff auf die onchip-ADCs des AVR. Ich hätte erwartet, solchen in der avr-libcc zu finden-- weit gefehlt!!
Aber wo sonst?
Gruss
Robert
-- 'Vom Standpunkt eines Beamtenrechtlers aus betrachtet ist der Tod die schärfstwirkenste aller bekannten, langfristig wirkenden Formen der vollständigen Dienstunfähigkeit.' aus: Kommentar zum Beamtenrecht.
Didn't find your answer? Ask the community — no account required.
O
Olaf Kaluza
In deinen grauen Zellen? Die 2-3 Zeilen wirst du doch wohl selber hinbekommen.
Olaf
M
Michael Eggert
Hi!
Was in die einzelnen Register kommt, musst Du schon selbst verstanden haben. Ansonsten, inclusive sleep-while-conversion:
Der ADC schickt die CPU während der Wandlung in den Schlaf und weckt sie danach wieder auf. Der "leere" Interrupt ist dazu da, daß die CPU nach dem "wach auf, der ADC ist fertig"-Interrupt nicht in die Pampa springt.
Gruß, Michael.
J
Joerg Wunsch
Michael Eggert schrieb:
sbi is nich mehr. Standard-C: ADCSRA |= _BV(ADSC).
#include
set_sleep_mode(SLEEP_MODE_ADC); ... sleep_mode();
#include
EMPTY_INTERRUPT(ADC_vect);
cheers, J"org .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
M
Michael Eggert
Hi!
Hab ich beim copy&paste übersehen, war ein altes Projekt.
Aahja.
Den kannte ich noch nicht, danke!
Gruß, Michael.
J
Joerg Wunsch
Michael Eggert schrieb:
Ich merke gerade, dass ich den zu voreilig aus der aktuellen (to become avr-libc 1.4.0) Doku cut&pasted habe. Für avr-libc 1.2.6 heißt das natürlich
EMPTY_INTERRUPT(SIG_ADC);
cheers, J"org .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
S
Steffen Koepf
Und was ist, wenn waehrend des Sleeps irgendwas anderes den AVR aufweckt? Dann faehrt er nach dem sleep fort, liest die ADC Register aus die noch keinen gueltigen Inhalt enthalten und liefert irgendeinen Mist zurueck...
cu,
Steffen
M
Michael Eggert
Hi!
Da fällt mir ein, hast Du eine Idee, wann das neue WinAVR-Paket rauskommt?
Gruß, Michael.
M
Michael Eggert
Hi!
Stümmpt, kam in meiner Anwendung nur nicht vor. Also noch das AD Interrupt Flag Bit abfragen...
Gruß, Michael.
R
R.Freitag
Ich mach mal die Ingrid...:-(
ich habe beim Posten dieser msg eigentlich als Antwort eine Lib haben wollen, in der sowas drinsteht, natürlich kann ich mir das alles selbst programmieren, aber das kann ich bei Stzrings usw. ja auch. Mittlerweile bin ich fündig geworden,
formatting link
enthält weitere Infos.
Grüsse
Robert
'Vom Standpunkt eines Beamtenrechtlers aus betrachtet ist der Tod die
schärfstwirkenste aller bekannten, langfristig wirkenden Formen der
vollständigen Dienstunfähigkeit.'
aus: Kommentar zum Beamtenrecht.
S
Steffen Koepf
Oder in der Interrupt-Routine ein Flag setzen und dieses Abfragen:
SIGNAL (SIG_ADC) { c_adc_complete = 1; /* Set ready flag */
}
cu,
Steffen
D
Daniel Tschetmotor
Hast du mal da nachgelesen:
formatting link
Da steht doch (fast) alles an Grundlagen drin, mit Codebeispielen
MfG Daniel
J
Joerg Wunsch
Michael Eggert schrieb:
Musst du Eric Weddington fragen... Er hat kürzlich den Job gewechselt und ist darauf hin umgezogen, das hat natürlich gut Zeit geschluckt.
cheers, J"org .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
J
Joerg Wunsch
"R.Freitag" schrieb:
Da hier von 3 Zeilen Code bis zum komplett interruptgesteuerten System, das nach jeder Messung den Kanal umschaltet und neu misst alles denkbar ist, ist die customization wohl das größte Problem. Genau darin unterscheidet sich eben die Aufgabe drastisch von einer einfachen String-Verarbeitung.
avrlib, ja, die ist bekannt. Wenn die Lizenz für deinen Einsatzzweck OK ist und die restlichen Randbedingungen auch, warum nicht? Die hat einen ganz guten Ruf und auch noch andere nützliche Dinge.
Aber wie geschrieben, im einfachsten Falls sind es 3 Zeilen Code, da braucht man keine Bibliothek dafür (einschalten, warten, auslesen).
cheers, J"org .-.-. --... ...-- -.. . DL8DTL
http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.