Problem Analogmessung

Gast #2369117
Lesenswert?

Hallo, ich habe ein Problem mit meinem Atmega88. Ich möchte mit zwei 
Analogeingängen (ADC0 & ADC1) zwei Spannungen messen und diese in meiner 
Software weiterverarbeiten.

Jetzt habe ich folgendes Problem:
Wenn ich die Spannungen anlege bevor der Controller startet hängt sich 
das Programm auf, lege ich die Spannungen an nachdem der Controller 
hochgelaufen ist funktioniert das Programm ohne Probleme. Gibt es bei 
der Initalisierung der Analogeingänge oder den FUSE & LOCK-Bit's etwas 
zu beachten ? Unten habe ich den Programmkopf (BASCOM) eingefügt.

Vielen Dank für Eure Hilfe !

Luke



$regfile = "m88def.dat"                          'ATmega8-Deklarationen
$crystal = 3686400                               'Quarz: 3,6864 MHz
$baud = 38400

$hwstack = 40
$swstack = 32
$framesize = 60

Config Clockdiv = 1                        'Quarzfrequenz durch "1" 
teilen

Twsr = &B00000000    'Bit7->Bit2=Status I²C-Aktion / Bit1->Bit0 = 
0->I²C-Vorteilung=1
Twbr = &B00000000     'I²C-Bitrate=230400Hz=Quarz / 
(16+2*TWBR*4βC-Vorteilung)

Config Serialout = Buffered , Size = 30
Config Serialin = Buffered , Size = 3

$prog &HFF , &H4C , &HDD , &HF9                  'Fuse und Lock-Bit's

Ddrb = &B00000111                       'Configuration Port B
Portb.0 = 0                             'OUT Melderelais K3
Portb.1 = 0                             'OUT Melderelais K2
Portb.2 = 0                                                 'OUT 
Absenkung
Portb.3 = 1                                                 'MOSI
Portb.4 = 1                                                 'MISO
Portb.5 = 1                                                 'SCK
Portb.6 = 1                                  'Frei PullUp aktiv (Quarz)
Portb.7 = 1                                  'Frei PullUp aktiv (Quarz)

Ddrd = &B10011100                          'Configuration Port D
Portd.0 = 1                                'Frei PullUp aktiv (RXD)
Portd.1 = 1                                'Frei PullUp aktiv (TXD)
Portd.2 = 0                                'OUT Watchdog (Wobbel-Bit)
Portd.3 = 0                                'Interrupt INT1
Portd.4 = 1                                'Frei
Portd.5 = 0                                'IN Konfiguration Shunt
Portd.6 = 0                                'IN Konfiguration Shunt
Portd.7 = 0                                'OUT Batterierelais

Ddrc = &B00001100 
'Configuration Port C
Portc.0 = 0                                       'ADC0 Spannung 
Ladegerät
Portc.1 = 0                                       'ADC1 Spannung 
Batterie
Portc.2 = 1                                                'OUT 
Melde-LED 1
Portc.3 = 0                                                'OUT 
Melde-LED 2
Portc.4 = 0                                                 'I²C SDA
Portc.5 = 0                                                 'I²C SCL
Portc.6 = 1                                              'Frei PullUp 
aktiv
Portc.7 = 1                                              'Frei PullUp 
aktiv

Admux = &B00000000  'ADMUX -> PC0 / obere 4 Bit für A/D-Konverter / AREF 
extern verbunden
Adcsra = &B11000011  'A/D-Konverter EIN  Konvertierung starten  Takt : 
8

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren