Mình đang bắt đầu học lập trình AVR với con Atmega8535L, sử dụng chương trình nạp PonyPro 2000 nạp qua cổng nối tiếp. ASM viết bằng AVR Studio 4, không hiểu sao mình không thể thực hiện được lệnh gọi chương trình con rcall. AVR studio biên dịch không có lỗi nhưng khi nạp vào VDK thì cứ thực hiện đến lệnh này là chương trình không chạy tiếp, các lệnh khác vẫn thực hiện bình thường.
khi run bằng AVR Studio thì thấy báo lỗi tại lệnh rcall.
hình như là invalid opcode thì phải. Mong các cao thủ chỉ giúp!
CODE:
.cseg
.org 0
rjmp RESET
rjmp RESET
rjmp RESET
RESET:
ldi r16,0xff
out DDRB,r16
loop:
ldi r16,0
out PORTB,r16
rcall delay
ldi r16,0xff
out PORTB,r16
rcall delay
rjmp loop
delay:
ldi r17,#200
d1:
ldi r18,#200
d2:
dec r18
cpi r18,0
brne d2
dec r17
cpi r17,0
brne r17,d1
ret
Mạch nạp:
http://www.sunrom.com/p-pi/c-1_24/pn...-programmer.st
khi run bằng AVR Studio thì thấy báo lỗi tại lệnh rcall.
hình như là invalid opcode thì phải. Mong các cao thủ chỉ giúp!
CODE:
.cseg
.org 0
rjmp RESET
rjmp RESET
rjmp RESET
RESET:
ldi r16,0xff
out DDRB,r16
loop:
ldi r16,0
out PORTB,r16
rcall delay
ldi r16,0xff
out PORTB,r16
rcall delay
rjmp loop
delay:
ldi r17,#200
d1:
ldi r18,#200
d2:
dec r18
cpi r18,0
brne d2
dec r17
cpi r17,0
brne r17,d1
ret
Mạch nạp:
http://www.sunrom.com/p-pi/c-1_24/pn...-programmer.st
Comment