TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 不响应IO中断的问题

应用场景:

CC2541 使用 P00 与P01 外接 触摸芯片,把 P00、P01配置成外部的IO中断 (下降沿触发)。

Interrupt group 5 的中断优先级,已配置成最高的优先级。如下:

IP0 |= BV(5); 

IP1 |= BV(5); //Interrupt group 5, 最高优先级

问题:

在极短的时间内,短按触摸 IC (使用示波器观察,已发出下降沿的信号)。但 CC2541 并没有接收到中断的标志。

如果较长时间内,短按触摸 IC, CC2541 才有中断的标志。

 请问 CC2541 边沿触发的中断条件是:需要多长的持续时间? 电平? 

能否提高 IO 的速度?或者配置中断的响应时间?

谢谢~!

Kevin Qiu1:

你说的较长时间大概是多长时间,关于中断看下手册7.4节:www.ti.com.cn/…/swru191f.pdf
CC2541 不能配置IO的速度

dasfe dfasf:

回复 Kevin Qiu1:

中午好,较长的时间大概是 50ms ~ 150ms。

Kevin Qiu1:

回复 dasfe dfasf:

时间是是有点长,估计是外部触摸IC的原因,先单独测下中断的响应

外部中断的一个完整例子#include <ioCC2540.h>#define RLED P1_0#define led2 P1_1#define uchar unsigned char#define uint unsigned int/*****************************************//函数声明*****************************************/void Delay(uint n);/*****************************************//io及LED初始化*****************************************/void Init_IO_AND_LED(void){P1DIR = 0X03; //0为输入(默认),1为输入RLED = 1;led2 = 1;P0INP &= ~0X0c;//有上拉、下拉P1INP &= ~0X40; //选择上拉P0IEN |= 0X30;//P04 P05PICTL |= 0X02;//下降沿EA = 1;IEN1 |= 0X20;// P0IE = 1;P0IFG |= 0x00;//P12 P13};/*****************************************//主函数*****************************************/void main(void){Init_IO_AND_LED();while(1){};}/*****************************************//延时*****************************************/void Delay(uint n){uint ii;for(ii=0;ii<n;ii++);for(ii=0;ii<n;ii++);for(ii=0;ii<n;ii++);for(ii=0;ii<n;ii++);for(ii=0;ii<n;ii++);}#pragma vector = P1INT_VECTOR__interrupt void P1_ISR(void){if(P0IFG>0)//按键中断{P0IFG = 0;RLED = !RLED;}P0IF = 0;//清中断标志}

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 不响应IO中断的问题
分享到: 更多 (0)