Forum: Mikrocontroller und Digitale Elektronik atmega comparator code & beschaltung


von abjé (Gast)


Lesenswert?

ich habe an meinen atmega pin ain0 eine referenzspannung angeschlossen 
und an pin ain1 eine vergleichsspannung. nun wollte ich mit dem internen 
comparator die spannungen vergleichen und mit folgendem code dies an den 
ausgängen ersichtlich machen. aber es tut sich rein garnix, nach den 
2sec led an, leuchten 2 led's (a0 und a2), also als ob vergleich nicht 
zutreffent. wenn ich nun vergleichsspannung verändere egal drüber oder 
drunter vom ref, passiert nix.

ist der code so richitg??????
sorry falls dumme fehler drin sind aber ist schon 1uhr :-)
1
int main( void ) {
2
3
DDRA = ( 1 << PA0 | 1 << PA1 | 1 << PA2);
4
PORTA |= ( 1 << PA0 | 1 << PA1 | 1 << PA2);
5
ACSR = ( 1 << ACI | 1 << ACIS1 | 1 << ACIS0 );
6
7
PORTA &= ~( 1 << PA0 );
8
PORTA &= ~( 1 << PA1 );
9
PORTA &= ~( 1 << PA2 );
10
_delay_ms ( 2000 );
11
PORTA |= ( 1 << PA0 );
12
PORTA |= ( 1 << PA1 );
13
PORTA |= ( 1 << PA2 );
14
15
while(1)
16
  {
17
    if(!(ACSR & (1<<ACI)))
18
  {
19
    PORTA &= ~( 1 << PA0 );
20
    PORTA |= ( 1 << PA1 );
21
  }
22
  else
23
  {
24
    PORTA &= ~( 1 << PA1 );
25
    PORTA |= ( 1 << PA0 );
26
  }
27
28
  if(!(ACSR & (1<<ACO)))
29
  {
30
    PORTA &= ~( 1 << PA2 );
31
  }
32
  else
33
  {
34
    PORTA |= ( 1 << PA2 );
35
  }
36
37
  }
38
  return 0;
39
}

von abjé (Gast)


Lesenswert?

Hat den schon jemand mit dem internen Comparator der Atmega 
gearbeitet???

von abjé (Gast)


Lesenswert?

HILFE!!!

von abjé (Gast)


Lesenswert?

Meine allein Unterhaltung hat ein Ende. Das was ich vergessen habe zu 
machen ist die AIN0 und AIN1 Pin's als Eingang zu definieren.

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
Noch kein Account? Hier anmelden.