добавил две волшебные строчки, программа ожила:
ANSEL = 0;
ANSELH = 0;
теперь рабочий код такой:
Код
void interrupt()
{
if(INTCON.INTF)
{
PORTD=~PORTD;
INTCON.INTF=0;
}
}// interrupt
void Init()
{
ANSEL = 0;
ANSELH = 0;
TRISB=0b00000001;
TRISD=0b00000000;
OPTION_REG = 0x87;
INTCON.INTE=1;
INTCON.GIE=1;
}// Init
void main() {
Init();
while(1) { }
}
подтяжка RB0 к gnd через 10k и внутренняя подтяжка PORTB отключена: /RPBU=1.
Вопрос: каким образом могли повлиять на работу регистры ANSEL и ANSELH?