Ik ben gisteren eindelijk begonnen met acr microcontrollers. Nou heb ik mijn programmer in een keer goed in elkaar gesoldeerd alleen mijn eerste programma gaat mis
In avr programmer gaat het mis op de ret binnen de longdelay. Ik krijg dan een invalid opcode Dit schijnt te komen doordat ret enkel kan worden aangeroepen indien de subroutine is aangeropen vanuit een rcall. Dit doe ik volgens mij ook. Kan iemand er enig licht op schijnen?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| ;my very first avr prog .include "2313def.inc" .def temp=R16 .def T1=R15 .def T2=R14 .org 0x0000 rjmp RESET longDelay: clr T1 clr T2 delay_1: ; dec T1 ; brne delay_1 ; dec T2 ; brne delay_1 dec temp brne delay_1 ret .equ led=6 RESET: sbi DDRD,led .equ delay=2 flash: sbi PORTD,led ldi temp,delay rcall longDelay cbi PORTD,led ldi temp,delay rcall longDelay rjmp flash |
In avr programmer gaat het mis op de ret binnen de longdelay. Ik krijg dan een invalid opcode Dit schijnt te komen doordat ret enkel kan worden aangeroepen indien de subroutine is aangeropen vanuit een rcall. Dit doe ik volgens mij ook. Kan iemand er enig licht op schijnen?