Hi ich will bei einem ATMega 8 nur den ersten Analog-Digitalconverter nutzen, die anderen möchte ich als I/O Nutzen. Wie kann ich das machen, dass ich nur den ersten ADC aktiviere? PS: Für alle macht man das so: Config Adc = Single , Prescaler = Auto , Reference = Avcc
Gast
#500675
Der Atmega8 besitzt nur einen ADC, welchen du z.B. mit deiner obigen Zeile konfigurieren kannst. Die 8 Kanaele kommen nur dadurch zustande, dass dieser ADC wechselnd mit den jeweiligen Pins verbunden wird. Er kann also nicht zwei Spannungen gleichzeitig wandeln. Du kannst also beispielsweise den ersten Kanal mit word = getadc(0) auslesen, waehrend du die restlichen Pins normal als IOs nutz, also per Config Port/Pin entsprechend konfigurierst und 1 oder 0 setzt/Pinx ausliest. Beste Gruesse
Es gibt nur einen ADC. Die Quelle wählst Du mittels ADMUX. Wenn Du aus der BASCOM-Doku nicht schlau wirst, dann verzichte auf das Config-Gerassel und greife anderweitig auf die I/O-Register zu. Die Beschreibung der I/O-Register findest Du im Datasheet Deines AVRs. ...
Gast
#500721
Gib mal die Zeile noch ganz oben in Dein Programm ein:
Admux = &B01100001 'Bits7+6=01: Aref ist intern verbunden
'Bit5=1: LeftAdjust, nur 8 Bit in ADCH
'Bits3...0=0001: Pin ADC1 wählen
Wenn Du ADC 0 haben willst, dann eben &B01100000.
Das steht im Datenblett vom ATmega8 drin, wie man das Register setzen
muß,
um entsprechende Reaktionen zu bekommen.
MfG Paul
Gast
#500725
P.S.
Das Register ADCSRA kannst Du genauso "angreifen", um den ADC so
einzustellen, wie Du es haben willst.
Adcsra = &B11100010 'Bit7=1:AdcOn,Bit6=1:Start,Bit5=1:Freilaufend
'Bits2+1+0=010: AdcClock=AvrClock/4
FF (Fiel Fergnügen) ,-)
Paul
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.