我不明白为什么我的代码不起作用。它在我设置条件时有效,PORTA == 0x00
但在PORTA == 0x01
. 如何检查位是否高?下面是我的代码和原理图(晶体频率为 4MHz)。
#include<xc.h>
void main(){
int cnt;
int delay_cnt;
TRISA = 1; // PortA as input
TRISB = 0; // PortB as output
PORTB = 0x00; // Initialize LED as off
for(;;){ // Infinite loop
if(PORTA == 0x01){
for(cnt=0;cnt<3;cnt++){
PORTB = 0x01; // Turns on LED
for(delay_cnt=0;delay_cnt<10000;delay_cnt++);
PORTB = 0x00; // Turns off LED
for(delay_cnt=0;delay_cnt<10000;delay_cnt++);
}
}
}
}