[Erledigt] Erste Hilfe für AD-Wandler?
So nun gehts los meine ersten Fragen:
Für die Spannungsüberwachung eines Akkus möchte ich mit nem Tiny25 die Spannung im Ad-wandler einlesen und dann weiter verarbeiten.
Jetzt hänge ich aber schon seit einer Woche am Ad-Wandler fest
und begreife nicht warum er nicht das macht was ich möchte.
1. Warum bricht AVR-Studio 4 schon beim Stackpointer initialisieren von SPH mit der Fehlermeldung ab
Ich weiß des es ein Watchdog-Reset ist aber brauche ich den dort?
3. Wenn ich das Proggie im Studio4 in einzelschritten durchlaufen lasse
und nun in ADCL einen Wert einstelle wird dieser nicht r14 geladen,
ist das normal oder mache ich was falsch?
Ich kann mir vorstellen das es mal wieder typische Anfänger Probleme sind,
aber ich werde trotz lesen und studieren darauß nicht schlau.
Deshalb hoffe ich auf Gnade bei Euren Antworten
So nun gehts los meine ersten Fragen:
Für die Spannungsüberwachung eines Akkus möchte ich mit nem Tiny25 die Spannung im Ad-wandler einlesen und dann weiter verarbeiten.
Jetzt hänge ich aber schon seit einer Woche am Ad-Wandler fest
und begreife nicht warum er nicht das macht was ich möchte.
Code:
;-------------------------------------------------------------------------
; Titel : AD-Test
;-------------------------------------------------------------------------
; Funktion :
; Schaltung :
;-------------------------------------------------------------------------
; Prozessor : ATtiny25
; Takt : 1000000 Hz
; Sprache :
; Datum : 25.2.2011
; Version : 1.0
; Autor :
; Programmer:
; Port :
;-------------------------------------------------------------------------
; created by myAVR-CodeWizard
;-------------------------------------------------------------------------
.include "tn25def.inc" ; Prozessordefinition
.cseg
.org 0
begin: rjmp main ; 1 Reset
reti ; 2
reti ; 3
reti ; 4
reti ; 5
reti ; 6
reti ; 7
reti ; 8
rjmp onadc ; 9 ADC Wandlung komplett
;------------------------------------------------------------------------
; Initialisierungen
;------------------------------------------------------------------------
main:
;Stackpointer initialisieren
ldi r16,LOW(RAMEND)
out SPL,r16
ldi r16,HIGH(RAMEND)
out SPH,r16
; Ports initialisieren
sbi Ddrb, pb1 ; PORT1
sbi Ddrb, pb2 ; PORT2
cbi Ddrb, pb3 ; PORT3
; ADC initialisieren
ldi r16, (1<<REFS2)
out ADMUX, r16
ldi r16, (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0)
out ADCSRA, r16
;------------------------------------------------------------------------
; Hauptprogramm-Schleife
;------------------------------------------------------------------------
mainloop: wdr
rjmp mainloop ; Sprung
;--------------------------------------------------------------------
; getValueADC - liest den aktuellen Wert vom ADC
; PA: r14 = Ergebnis
;--------------------------------------------------------------------
onadc:
in r14,adcl; Einlesen
reti
1. Warum bricht AVR-Studio 4 schon beim Stackpointer initialisieren von SPH mit der Fehlermeldung ab
2. Was bringt das wdr im mainloop?error: Undefined symbol: SPH
Ich weiß des es ein Watchdog-Reset ist aber brauche ich den dort?
3. Wenn ich das Proggie im Studio4 in einzelschritten durchlaufen lasse
und nun in ADCL einen Wert einstelle wird dieser nicht r14 geladen,
ist das normal oder mache ich was falsch?
Ich kann mir vorstellen das es mal wieder typische Anfänger Probleme sind,
aber ich werde trotz lesen und studieren darauß nicht schlau.
Deshalb hoffe ich auf Gnade bei Euren Antworten