Сообщение от 2sam_soft
Дык в том то и дело что crt0 портит все дело с обработчиками прерываний.
А чего он с ними делает??? Ты ж их на асме напишешь - как напишешь так и будет. В моей проге связка ШИМов живет типа сам по себе, на прерываниях. Остальное все софт.
NAME _ASM_
include "ioavr.h"
/********************************************************/
Uxx = 0 ;флаг холостого хода
OvrT = 1 ;Признак перегрева
FlagGetTemp = 2 ;Признак опроса каналов изм. Т.
EXTERN STATUS
EXTERN Count2sec
EXTERN count
///////////////////////////////////////////////////////////////////
org INT0_vect
rjmp _INT0
org TIMER1_CMPA_vect
rjmp OC1A
org TIMER1_CMPB_vect
rjmp OC1B
org TIMER1_OVF1_vect
rjmp T1OVF
org TIMER0_OVF0_vect
rjmp T0OVF
org ANA_COMP_vect
rjmp ANA_COMP
//////////////////////////////////////////////////////////////////
RSEG CODE
ORG 0x0C
_INT0:
cbi PORTB, PB1 //Ток выше заданного
push r17
lds r17, STATUS
sbrs r17, Uxx
rjmp exit
/*** ОПРЕДЕЛЕНИЕ ГОРЕНИЯ ДУГИ ***/
sbis PINA, PA5
rjmp exit
sbic ACSR, ACO
rjmp exit
/******************************/
lds r17, count
inc r17
sts count, r17
cpi r17, 0xFF
brne exit
clr r17
sts count, r17
lds r17, STATUS
andi r17, ~(1