我使用的PIC24FJ64GB004
单片机,pic24系列的单片机好像没有什么书籍参考,只找到了小猫两三只,结果中断不会写了... 还是水平太低啊,特向各位大婶求助~下边是个小程序,按键按下之后led闪烁。
#include<p24FJ64GB004.h>
_CONFIG1(WDTPS_PS1 & FWPSA_PR32 & WINDIS_OFF & FWDTEN_OFF & ICS_PGx1 & GWRP_OFF & GCP_OFF & JTAGEN_OFF)
_CONFIG2(POSCMOD_HS & I2C1SEL_PRI & IOL1WAY_OFF & OSCIOFNC_ON & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV8 & IESO_ON)//_CONFIG2( FNOSC_PRI & IOL1WAY_ON & OSCIOFNC_OFF & PLL96MHZ_OFF)
_CONFIG3( SOSCSEL_IO )
void delay(unsigned int z)
{
unsigned int x,y;
for(x=0;x<=z;x++)
for(y=200;y>=1;y--);
}
void __attribute__ ((interrupt, no_auto_psv)) _INT0Interrupt (void){
if(_INT0IF == 1){
_INT0IF = 0;
while(1){
PORTAbits.RA8 = 0;
delay(500);
PORTAbits.RA8 = 1;
delay(500);
} ;
}
}
int main(){
OSCCONbits.COSC=0b010;
__buil
tin_write_OSCCONL(OSCCON & 0xbf);
_INT0IE = 1;
_INT0EP = 1;
TRISA = 0;
while(1){
PORTAbits.RA8 = 1;
}
}
就是这段程序,有好多问题希望大婶指点~~
1,那个config的配置字设置,都有什么含义啊,能不能删掉?
2,pic24f有中断总开关吗? pic24f单片机开启中断的流程是什么啊。
3,这段程序只能停在主程序while语句出不来,不能进中断,是怎么回事啊...
求大神~~~
2,pic24f没有中断总开关, pic24f单片机开启中断的流程设置中断优先级别及是否套嵌,开各中断允许。
3,这段程序只能停在主程序while语句出不来,不能进中断,没看到设置中断端口为数字输入,pic默认端口为模拟输入
int main(){
OSCCONbits.COSC=0b010;
__builtin_write_OSCCONL(OSCCON & 0xbf);
TRISA = 0;
TRISB = 0xFFFF;
PORTBbits.RB7 = 1;
_INT0IE = 1;
_INT0IF = 0;
_INT0EP = 1;
//_GIE = 1;
while(1){
PORTAbits.RA8 = 1;
}
},然后就可以用int0(RB7)高电平触发中断,现在问题就是无论_INT0EP怎么设置,RB7死活都不是高电位,整个中断必须得用高电平触发,想不懂,是因为熔丝位的配置有误吗? 那config熔丝位应该怎么设置啊,谢谢大神~~~
一周热门 更多>