Hallo Leute.
Ich habe mir mal ein paar Projekte mit RC5-Dekodierung im Internet
angeschaut. Habe mir jetzt mal folgenden Code für den atmega 8515
zusammegebastelt. Aber es funktioniert nicht. Die fertige routine von
Atmel liefert immer 0xFF zurück (Fehler)
Was mache ich falsch??
Gruß M.H.
Der Code:
1
.include <m8515def.inc>
2
3
4
.equ INPUT =0 ;PD2
5
.equ SYS_ADDR =0 ;The system address
6
7
8
.def S =R0
9
.def inttemp =R1
10
.def ref1 =R2
11
.def ref2 =R3
12
13
.def temp =R16
14
15
.def timerL =R17
16
.def timerH =R16
17
18
.def system =R19
19
.def command =R20
20
21
.def bitcnt =R21
22
23
.cseg
24
.org $00
25
rjmp reset
26
.org OVF0addr
27
TIM0_OVF: in S,sreg
28
inc timerL ;Updated every 64us
29
inc inttemp
30
brne TIM0_OVF_exit
31
inc timerH
32
33
TIM0_OVF_exit: out sreg,S
34
reti
35
36
37
reset:
38
ldi r16, low(RAMEND)
39
ldi r17, high(RAMEND)
40
out spl, r16
41
out sph, r17
42
;ldi temp,low(RAMEND) ;Initialize stackpointer
43
;out SPL,temp
44
;ldi temp,high(RAMEND) ; Commented out since 1200 does not hae SRAM
Die MCU in der Atmel App. läuft mit 4Mhz Taktfrequenz !
also alle 64µsec. ein Interupt , nochmal alles überprf.
oder deine Fernbedienung ist keine RC5
mfg
Sorry:
Ich hab vergessen zu sagen, dass er mit 4 MHz ext. quarz läuft.
Hab mehrere Fernbedienungen versucht.
ach, noch was: wenn kein signal reinkommt, liegt der Output vom
empfänger auf high. Ist das normal?
Gruß M.H.
M. H. schrieb:> ach, noch was: wenn kein signal reinkommt, liegt der Output vom> empfänger auf high. Ist das normal?
Als ich das damals mit dem TSOP1736 auf dem Pollin-Funk-Board in C
(Artikelsammlung) gemacht hatte, war es so. Dein Programmcode mit
eingeschaltetem Pullup-Widerstand an PD2 deutet auch darauf hin. Um
deine Frage exakt zu beantworten, müsste man wissen, welchen Empfänger
du benutzt und wie der angeschlossen ist.