Re: INT_ANA_COMP Kategorie: Programmierung Basic (von PeterS - 13.07.2010 8:47) | |
Als Antwort auf Re: INT_ANA_COMP von Stefan - 13.07.2010 1:19
| |
> > > > Hallo, > > > > hätte auch nochmal konkrete Fragen zum INT_ANA_COMP: > > > > -Wie kann ich für den Interrupt einstellen, > > > > ob eine externe oder die interne Referenzspannung verwendet wird? > > > > -Wie kann ich einstellen, welches Ereignis den Interrupt auslöst? > > > > (Bei den externen Interrupts kann dies ja über Ext_IntEnable eingestellt werden) > > > > ....Stefan > > > > > > > > > > > > > > Guck mal unter Bibliotheken - Analog-Comparator ;-) > > > > > > > > > > Ja, schon, aber... > > > > > Meinst Du das ?: > > > > > if (AComp(0x40)==1) // Eingang (+) band gap reference 1,22V > > > > > { > > > > > Msg_WriteChar('1'); // Ausgabe: 1 > > > > > } > > > > > ... > > > > > Mit einer ISR-Routine geht's dann wohl nicht. > > > > > > > > > > > Lies mal die Doku. Unter Bibliotheken->Interrupt > > > > > > Gruss Peter > > > > Es ist aber noch was komplizierter. Au�er den Interrupt zu setzen, mu� der richtige Wert in > > das ACSR Register geschrieben werden. Der Byte Parameter an AComp wird direkt in das ACSR > > Register geschrieben. Lies bitte das Analog Comparator Kapitel im Mega128 Reference Manual. > > Es mu� noch mit Bit 3 der Interrupt enabled werden, und die unteren 2 Bits definieren, wann > > der Interrupt ausgelöst wird. > > > > Gruss Peter > > Ah, verstehe, vielen Dank, > Noch eine Frage: > Hat der Befehl AComp immer einen Rückgabewert, mu� also z.B "x = AComp(0x0B)" geschrieben werden, > oder kann der Befehl auch alleine stehen, z.B. "AComp(0x0B)", und beschreibt somit nur das > ACSR-Register? > Gruss Stefan > Wenn man nur AComp(0x0b) schreibt, wird der Rückgabewert einfach weggeschmissen. Das ist bei fast allen Programmiersprachen so. Gruss Peter | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum