Не получается снять сигнал с некоторых ножек GPIO
Программа простецкая. Ждём сигнал с любой ножки, после этого подаём сигнал на все ножки сразу.
Код: Выделить всё
//12f683.h
#include <pic.h>;
__CONFIG(MCLRDIS & WDTDIS & INTIO);
void main() {
TRISIO = 0b11111111;
ANSEL = 0b0000111;
while (!(GPIO0 || GPIO1 || GPIO2 || GPIO3|| GPIO4|| GPIO5)) {
_delay(10);
}
TRISIO = 0;
GPIO = 0b11111111;
while (1) {
}
}

При подаче сигнала на любую из оставшихся трех ножек, всё работает, как ожидалось.

Вопрос: Почему сигнал не снимается с первых трех ножек?
Поменял на ANSEL = 0; Заработала 3я ножка (GP2) первые две по прежнему не работают
Всё спасибо, разобрался!
Нужно было ещё компаратор отключить CMCON = 0x07
