|
а вот реальный глюк для 16 разряда
__interrupt void ISR(void) {
if (word == 0x0034)
HALT()
}
main:
243 word =0;
\ 00000004 .... LDI R26,LOW(`word`)
\ 00000006 .... LDI R27,(`word`) >> 8
\ 00000008 E000 LDI R16,0
\ 0000000A 930D ST X+,R16
\ 0000000C 930C ST X,R16
\ 0000000E 9711 SBIW R27 : R26,1
244 word =0x1234;
\ 00000010 E304 LDI R16,52
\ 00000012 E112 LDI R17,18
\ 00000014 930D ST X+,R16
// прерывание
\ 00000016 931C ST X,R17
\ 00000018 9711 SBIW R27 : R26,1
нигде присовения 0x0034 нет. а проц повисает в HALT
E-mail: info@telesys.ru