打印
[bluetooth]

外部中断的问题

[复制链接]
843|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cjy_JDxy|  楼主 | 2019-9-9 11:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用CC2541做了个小板子,有10个按键,一个灯。
试外部中断,发现时灵时不灵,有误操作。
程序如下:
/****************************************************************************
* 名    称: InitKey()
* 功    能: 设置KEY相应的IO口,采用中断方式
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitKey()
{
    P0IEN |= 0xf3;    // P0.1 设置为中断方式 1:中断使能
    PICTL |= 0xf3;    //下降沿触发   
    IEN1 |= 0x20;    //允许P0口中断;
    P0IFG = 0x00;    //初始化中断标志位

    P1IEN |= 0x0f;    // P0.1 设置为中断方式 1:中断使能
    PICTL |= 0x0f;    //下降沿触发   
    IEN2 |= 0x10;    //允许P1口中断;
    P1IFG = 0x00;    //初始化中断标志位

    EA = 1;          //打开总中断
}

/****************************************************************************
* 名    称: P0_ISR(void) 中断处理函数
* 描    述: #pragma vector = 中断向量,紧接着是中断处理程序
****************************************************************************/
#pragma vector = P0INT_VECTOR   
__interrupt void P0_ISR(void)
{
    DelayMS(20);     //延时去抖
    LED1 = ~LED1;    //改变LED1状态
    P0IFG = 0;       //清中断标志
    P0IF = 0;        //清中断标志
}
/****************************************************************************
* 名    称: P1_ISR(void) 中断处理函数
* 描    述: #pragma vector = 中断向量,紧接着是中断处理程序
****************************************************************************/
#pragma vector = P1INT_VECTOR   
__interrupt void P1_ISR(void)
{
    DelayMS(20);     //延时去抖
    LED1 = ~LED1;    //改变LED1状态
    P1IFG = 0;       //清中断标志
    P1IF = 0;        //清中断标志
}

我延时20ms,不好使。请问高手,如何解决?谢谢!

使用特权

评论回复

相关帖子

沙发
dirtwillfly| | 2019-9-9 22:50 | 只看该作者
这个程序是直接硬件测试的,还是在osal上测试的?

使用特权

评论回复
板凳
Cjy_JDxy|  楼主 | 2019-9-10 09:04 | 只看该作者
dirtwillfly 发表于 2019-9-9 22:50
这个程序是直接硬件测试的,还是在osal上测试的?

直接硬件测试的。。。。。。。。

使用特权

评论回复
地板
dirtwillfly| | 2019-9-10 11:56 | 只看该作者
你有运行官网的例程试一下吗?
我记得有外部中断的例程

使用特权

评论回复
5
dirtwillfly| | 2019-9-10 12:25 | 只看该作者
网上也有基本的例程。你可以参考下试试
https://wenku.baidu.com/view/ff3a12924afe04a1b071def0.html

使用特权

评论回复
6
Cjy_JDxy|  楼主 | 2019-9-10 14:22 | 只看该作者
dirtwillfly 发表于 2019-9-10 11:56
你有运行官网的例程试一下吗?
我记得有外部中断的例程

谢谢!我的程序跟官网的差不多,不行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝