我读取了端口RB7,并在if中检查了值。如果RB7上有输出,我希望芯片上的指示灯点亮(指示D1),但即使RB7没有任何连接,它也会一直烧毁。我做错了什么?这是PIC 18F4550它是用mplab v8.63和C18编译器编写的。PIC - RB7有价值吗?
void main (void)
{
TRISD = 0x00; // PORTD als uitgang
TRISB = 0b00110000; // RB4 en RB5 als ingang
RCONbits.IPEN = 0; // prioriteit uit
INTCONbits.GIE = 1; // enable interrupt
INTCONbits.RBIE = 1; // interrupt portB aan
TRISBbits.TRISB7 = 0;
TRISBbits.TRISB6 = 0;
TRISBbits.TRISB3 = 0;
while(1)
{
_asm sleep _endasm
}
}
#pragma interrupt ISR
void ISR (void)
{
if (INTCONbits.RBIF==1)
{
if(LATBbits.LATB7 == 1) // value on RB7 ?
{
LATDbits.LATD1 ^= 1; // D2 togglen
}
}
INTCONbits.RBIF = 0;
}
对不起!这就是pic 18F4550,以及c18编译器。感谢您的帮助! – user001 2011-03-19 15:44:07
您的意思是图片18F4550? – 2011-03-19 15:44:49