Я подключаю переключатель к PIC, и я хочу прочитать этот переключатель. Я использую PIC18F4580. Если на входном контакте низкий уровень, то он включит светодиод, подключенный к другому контакту, сконфигурированному как выход. Однако светодиод горит все время, а кнопка переключения не действует. Это мой код:
void main()
{
IRCF2_bit = 1; //Internal 8MHz Oscisllator Configuration
IRCF1_bit = 1;
IRCF0_bit = 0;
INTSRC_bit = 1;
PLLEN_bit = 0;
TRISD0_bit = 1; //Switch connected to D0 and pin configured as input
TRISD1_bit = 0; //LED connected to D1 and pin configured as output
PORTD.F1=0; //Turn off LED
while(1)
{
if (PORTD.F0==0)
{
//If Switch is pressed
delay_ms(100); //switch debounce
if (PORTD.F0==0)
{
PORTD.F1=1; //Turn on LED
}
else
{
PORTD.F1=0; //Turn off LED
}
}
}
}
Я понятия не имею, что делать. Я использовал подтягивающие резисторы для кнопки переключения, и все оборудование должно быть правильным. Любая помощь очень ценится.