Ich möchte mich bei euch für die Hilfe bedanken. Der Fehler wurde gefunden.![]()
Hier ist nun der funktionierende Code. Der Tiny13 wird nun mit 128kHz getaktet um Strom zu sparen und um wenig Funktörungen hervorzurufen (meine Sorge). Mehr Einsparpotential bei der Energie kann ich nicht mehr finden. Der Verbrauch liegt bei <1mA.
Der Tip mit dem fehlenden "Enable Aci" hat den Durchbruch gebracht. Zur Sicherheit habe ich auch noch den Stack vergrößert.
Grüße Jörn
Code:'Pin1-PB5= Reset mit 100nF gegen Masse und 10k nach 5V 'Pin2-PB3= Relais 'Pin3-PB4= Relais 'Pin4= GND 'Pin5-PB0= (MOSI) 'Pin6-PB1= (MISO) 'Pin7-PB2= SCK und Analogeingang für XFIL (AnalogKomparator) 'Pin8= VCC 5V ' $regfile = "ATtiny13.dat" '$crystal = 9600000 $crystal = 128000 $hwstack = 32 $swstack = 8 $framesize = 16 Stop Timer0 Stop Watchdog Stop Adc Dim Test As Byte Config Aci = On , Compare = Off , Trigger = Toggle Adcsrb.acme = 1 'Analoge Comparator Multiplexer Enable Acsr.acbg = 1 'Referenzspannung eingeschaltet Admux = 1 Start Ac On Aci On_aci Stop Adc If Acsr.aco = 1 And Test = 1 Then Test = 0 Ddrb = &B00011000 Portb.4 = 0 Portb.3 = 1 'Relais als Test wackeln Waitms 100 Ddrb = &B00000000 End If If Acsr.aco = 0 And Test = 0 Then Test = 1 Ddrb = &B00011000 Portb.4 = 1 Portb.3 = 0 'Relais als Test wackeln Waitms 100 Ddrb = &B00000000 End If Enable Aci Enable Interrupts Do Power Idle 'Idle Loop On_aci: If Acsr.aco = 1 And Test = 1 Then Test = 0 Ddrb = &B00011000 Portb.4 = 0 Portb.3 = 1 'Relais als Test wackeln Waitms 100 Ddrb = &B00000000 End If If Acsr.aco = 0 And Test = 0 Then Test = 1 Ddrb = &B00011000 Portb.4 = 1 Portb.3 = 0 'Relais als Test wackeln Waitms 100 Ddrb = &B00000000 End If Return







Zitieren

Lesezeichen