Есть проц, ПЫК16F714. На нем поднимаю прерывание INT на RB0.
В первом приближении хочу, чтобы оно словило сигнал CS (на этом странном устройстве это ВЛУ), повисело в while пока сигнал есть и вылетело с исчезновением ВЛУ на RB0. Парюсь... А когда пин RB0 сконфигурирован как INT с него вообще читается TTL-уровень???
void main(void) {
OPTION_REG = 0b11000000;//RBPU=1, INTEDG = 1; //rising edge, отключение подтяжки
TRISA = 0b00010000;
TRISB = 0b11001101;
INTCON = 0b10010000; //GIE,INTE=1, INTF=0
RB0 = 0;
RB1 =0;
while(1)
{
;
}
}
void interrupt isr(void)
{
if(INTF)
{
INTF = 0;
while(RB0)
{
RB1 ^= 1; //мигаю с большой скоростью
}
}
}
Если убрать while и оставить только "мигание" то четко видно подмаргивание в момент, когда происходит обмен по шине. Т.е ловится. А с вайлом - мертво. Не ловится условие.


