Цитата(BlauTood @ Mar 11 2005, 11:46)
Написал программу с прерываниями
......
.org 0
rjmp start
.org INT0addr
ldi temp,255
out PORTB,temp
rjmp scan
.org INT1addr
rjmp scan
....
так вот если у меня закоментироованно 1 прерывание, то все ok? а если в таком виде , то при компиляции выдается вот такая ошибка:
Building project...
AVRASM: AVR macro assembler 2.0.28 (build 121 Jan 11 2005 10:28:51)
Copyright © 1995-2005 ATMEL Corporation
D:\My Documents\AVR\mers\mers.asm(1): Including file 'C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8535def.inc'
D:\My Documents\AVR\mers\mers.asm(17): error: Overlap in .cseg: addr=0x2 conflicts with 0x1:0x4
D:\My Documents\AVR\mers\mers.asm(18): error: Overlap in .cseg: addr=0x3 conflicts with 0x1:0x4
Assembly failed, 2 errors, 0 warnings
ВЧЕМ ТРАБЛ!!!
Так прерывания персекаются (на каждый вектор одна команда)
надо:
.org 0
rjmp start
.org INT0addr
rjmp INT0Handler
.org INT1addr
rjmp INT1Handler ; или можно сразу rjmp scan
INT0Handler:
ldi temp,255
out PORTB,temp
rjmp scan
INT1Handler:
rjmp scan