ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
270971 Топик полностью
rezident (09.09.2011 13:28, просмотров: 154) ответил Cepгeй Бopщ на Недопонял.
Описка :) Читать не "Flash", а "адресного пространства". А насчет ADDX см. чего генерит IAR 5.30. Никаких ADDA или ADDX. Все проще, т.к. переходы по TAIV внутри "нижних" 64к. #pragma vector=TIMERA1_VECTOR #pragma type_attribute=__interrupt void TIMERA1_ISR (void) { switch (TAIV) { case 0x02: TACCTL1&=CCIE^0xFFFF; break; case 0x04: TACCTL2&=CCIE^0xFFFF; break; case 0x0A: SysClkCntr+=65536UL; break; default: break; } } 48 #pragma vector=TIMERA1_VECTOR 49 #pragma type_attribute=__interrupt \ In segment ISR_CODE, align 2 50 void TIMERA1_ISR (void) \ TIMERA1_ISR: 51 { switch (TAIV) \ 000000 0F14 PUSHM.A #0x1, R15 \ 000002 1F422E01 MOV.W &0x12e, R15 \ 000006 2F83 SUB.W #0x2, R15 \ 000008 0624 JEQ ??TIMERA1_ISR_0 \ 00000A 2F83 SUB.W #0x2, R15 \ 00000C 0824 JEQ ??TIMERA1_ISR_1 \ 00000E 3F800600 SUB.W #0x6, R15 \ 000012 0924 JEQ ??TIMERA1_ISR_2 \ 000014 0E3C JMP ??TIMERA1_ISR_3 52 { case 0x02: 53 TACCTL1&=CCIE^0xFFFF; \ ??TIMERA1_ISR_0: \ 000016 B2C010006401 BIC.W #0x10, &0x164 54 break; \ 00001C 0A3C JMP ??TIMERA1_ISR_3 55 case 0x04: 56 TACCTL2&=CCIE^0xFFFF; \ ??TIMERA1_ISR_1: \ 00001E B2C010006601 BIC.W #0x10, &0x166 57 break; \ 000024 063C JMP ??TIMERA1_ISR_3 58 case 0x0A: 59 SysClkCntr+=65536UL; \ ??TIMERA1_ISR_2: \ 000026 ....8253.... ADDX.W #0x0, &SysClkCntr \ 00002C ....9263.... ADDCX.W #0x1, &SysClkCntr + 2 60 break; 61 default: 62 break; 63 } 64 } \ ??TIMERA1_ISR_3: \ 000032 0F16 POPM.A #0x1, R15 \ 000034 0013 RETI \ 000036 REQUIRE TACCTL1 \ 000036 REQUIRE TACCTL2 \ 000036 REQUIRE TAIV 65