Argon (10.08.2010 20:52, просмотров: 171) ответил Argon на если код обработчика выполняется дольше периода прерывания, то "-15" не сработало бы, прерывания были бы так же затянуты. Или нет?
а вот и дизассемблерный листинг тела прерывания, смотрите - он совсем короткий
228: static void interrupt eint(void)
229: {
230: if(TMR1IF)
008 1283 BCF 0x3, 0x5
009 1C0C BTFSS 0xc, 0
00A 2812 GOTO 0x12
231: {
232: TMR1IF = 0;
00B 100C BCF 0xc, 0
233:
234: TMR1L = (65536-tx_bit_period)&0xff;
00C 30F0 MOVLW 0xf0
00D 008E MOVWF 0xe
235: TMR1H = (65536-tx_bit_period) >> 8;
00E 30FF MOVLW 0xff
00F 008F MOVWF 0xf
236:
237: DATA_ASK ^= 1;
010 3001 MOVLW 0x1
011 0685 XORWF 0x5, F
238: }
239:
240: }
012 1283 BCF 0x3, 0x5