Hmmm ok warum ich die interne Referenzspannung brauche hab ich nun verstanden aber einen ? Spannungs teiler O.O wie soll ich das denn machen ?
habe mir die funktion Battery() angeguckt ist in der adc.c aber dort kann ich nicht erkennen wo dort ein Spannungsteiler ist`? ok es ist C aber es müsste doch trozdem dort anzeichen von sonem teiler geben?
Habe hier nen Code in asm gefunden wo ist da der Spannungsteiler
Code:
;ADC Enable und ADC Prescaler auf 128
ldi temp1, (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS1) // adc-clk = sys-clk/64
out IO_REG(ADCSRA), temp1
;Reference Spannung auf Interne 2,56 Volt setzen und ADC5 als Input pin
ldi temp1, (1<<REFS0) | (1<<REFS1) | (1<<MUX2) | (1<<MUX0);
out IO_REG(ADMUX), temp1
Code:
;Batt test
sbi IO_REG(ADCSRA), ADSC
batt_loop:
sbic IO_REG(ADCSRA), ADSC
rjmp batt_loop
in temp1, ADCL
in INT_REG_H, ADCH
clr INT_REG_L
add INT_REG_L, temp1
adc INT_REG_H, r1
subi INT_REG_L, lo8(BATT_MIN)
sbci INT_REG_H, hi8(BATT_MIN)
brcc batt_ok
[/code]
Lesezeichen