微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > pic中断问题,哪位大神能指点一下啊,嘿嘿,小弟感激不尽~

pic中断问题,哪位大神能指点一下啊,嘿嘿,小弟感激不尽~

时间:10-02 整理:3721RD 点击:
我使用的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;
        __builtin_write_OSCCONL(OSCCON & 0xbf);
        _INT0IE    = 1;
        _INT0EP  = 1;
        TRISA   = 0;
        while(1){
                PORTAbits.RA8 = 1;
        }
}

就是这段程序,有好多问题希望大婶指点~~
1,那个config的配置字设置,都有什么含义啊,能不能删掉?
2,pic24f有中断总开关吗? pic24f单片机开启中断的流程是什么啊。
3,这段程序只能停在主程序while语句出不来,不能进中断,是怎么回事啊...
求大神~~~

1,那个config的配置字设置,是配置熔丝位的,删掉以后要去软件里配置并设置加入代码才行
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熔丝位应该怎么设置啊,谢谢大神~~~

木有人? 自己顶~~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top