pumper
11-06-2012, 15:19
سلام دوستان اگه ممکنه بگید مشکل این کد چیه؟
چرا توی محیط پروتئوس وارد اینتراپت نمی شه ؟
#include<xc.h>
__CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_ON & CP_OFF & CPD_OFF);
/***/
volatile unsigned char htime=0;
void interrupt isr_rt(void);
int main(void) {
TRISIO=0x01;
GPIO=0x00;
//INTCONbits.PEIE=1;
GPIE=1; //INTERRUPT-ON-CHANGE GPIO
IOC0=1; //INTERRUPT-ON-CHANGE GPIO GP0
//INTCONbits.GIE=1;
ei();
//OPTION_REGbits.nGPPU=1; //GPIO pull-ups are enabled by individual port latch values
//WPUbits.WPU0=1;
htime=33;
GPIF=0;
while(1);
return 0;
}
void interrupt isr_rt(void){
if(GPIE&&GPIF){
GPIF=0;
htime=GPIO;
if(htime&0x01){
GPIO5=1;
}else{
GPIO5=1;
}
}
}
چرا توی محیط پروتئوس وارد اینتراپت نمی شه ؟
#include<xc.h>
__CONFIG(FOSC_INTRCIO & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_ON & CP_OFF & CPD_OFF);
/***/
volatile unsigned char htime=0;
void interrupt isr_rt(void);
int main(void) {
TRISIO=0x01;
GPIO=0x00;
//INTCONbits.PEIE=1;
GPIE=1; //INTERRUPT-ON-CHANGE GPIO
IOC0=1; //INTERRUPT-ON-CHANGE GPIO GP0
//INTCONbits.GIE=1;
ei();
//OPTION_REGbits.nGPPU=1; //GPIO pull-ups are enabled by individual port latch values
//WPUbits.WPU0=1;
htime=33;
GPIF=0;
while(1);
return 0;
}
void interrupt isr_rt(void){
if(GPIE&&GPIF){
GPIF=0;
htime=GPIO;
if(htime&0x01){
GPIO5=1;
}else{
GPIO5=1;
}
}
}