PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Komparator aktivieren. Vermutlich einfaches Problem



mwoidt
02.10.2009, 16:28
Hallo
Ich bin gerade etwas am verzweifeln. Ich möchte eine einfache Regelung realisieren, bei der je nach ausgabe des Komparators eines Atmega32 eine Variable hoch bzw. runtergezählt werden soll (genaugenommen PWM Tastverhältnis aber PWM funktioniert schon soweit).
Hier mal den Code für den Komparator


int main ()
{
//Multiplexer für Komparator deaktivieren
SFIOR &= ~(1<<ACME);
//Komparator aktivieren (bzw. disable bit deaktivieren)
ACSR&=~(1<<ACD);
//Interne 2,5V Spannung auf neg. Eingang, Interrupt zurücksetzen
ACSR|=(1<<ACBG)|(1<<ACI);
while (1)
{
_delay_us(40);
//Falls ACO gleich 0 OCRIB herunterzählen (Bis auf nul)
if(ACSR&& (1<<ACO))==0)
if (OCR1B>=0)
OCR1B-=1;

}

Jetzt nehme ich den AIN1 Pin (Ist glaub ich PB3 und lege ihn abwechselnd mal auf 0, mal auf 5V in einem der beiden Fälle müsste sich ICR1B ja verändern (ist vorher größer als 0!). Es passiert in beiden fällen aber nix. Das wundert mich schon etwas. WEiß absolut keinen rat was ich falschmache... Hab schon alles mögliche probiert. An den 10 zeilen code kann ja eigentlich nicht so viel verkehrt sein...

sternst
03.10.2009, 16:40
An den 10 zeilen code kann ja eigentlich nicht so viel verkehrt sein...&& -> &