|
T1 один раз дергает ногу и все. Прерывания живут. Подскажите, что не то? Я уже сдаюсь. Когда писал код для 16F876 небыло никаких проблем. С 18 все никак не заставлю работать без глюков.
Спасибо. Михаил.
#include __CONFIG(1,HSPLL); static char d; #pragma interrupt_level 0 void T1(void){ if (RE0 = 1){ void T2(void){ if (RC6 == 0) { void main(void){ SYNC = 0; TMR0IE = 0; T0CON = 0b11000111; IPEN = 0; TMR0 = 0; while (1) {
E-mail:
info@telesys.ru
__CONFIG(2,WDTDIS & WDTPS128 & BOREN & BORV45 & PWRTEN);
__CONFIG(3,CCP2RC1);
__CONFIG(4,LVPDIS & STVREN);
__CONFIG(5,UNPROTECT);
__CONFIG(6,WRTEN);
__CONFIG(7,TRU);
static char f;
interrupt void intr(void){
if (TMR0IF == 1 && TMR0IE == 1){
TMR0IF = 0;
if (++d == 50) {
f = 1;
d = 0;
}
if (RC3 == 0) {
RC3 = 1;
} else {
RC3 = 0;
}
}
}
// RE0 ^= 1;
RE0 = 0;
} else {
RE0 = 1;
}
}
// RC6 ^= 1;
RC6 = 1;
} else {
RC6 = 0;
}
}
d = 0;
TRISC = 0b10100111;
ADCON1 = 7;
TRISE = 0;
LATE = 1;
PORTC = 0xFF;
SPEN = 0;
TMR0IF = 0;
PEIE = 0;
TXIE = 0;
RCIE = 0;
TMR0IF = 0;
TMR0IE = 1;
GIE = 1;
if (f == 1) {
T1();
f = 0;
}
T2();
}
}
Ответы