cc2530单片机

weixin_44229296 2019-03-27 09:45:19
为什么我第一次按钮的时候正常闪烁,第二次按下按钮的时候没有反映,还是在闪烁,不应该熄灭吗? #include "ioCC2530.h" #define uint unsigned int #define uchar unsigned char #define sw P1_2 #define d5 P1_3 uint fp=0; void delay(uint time) { uint i; uint j; for(i=0;i<time;i++) for(j=0;j<240;j++) { asm("NOP"); asm("NOP"); asm("NOP"); } } void init_vector() { IEN2|=0x10; P1IEN|=0x04; PICTL|=0x02; EA=1; } #pragma vector=P1INT_VECTOR __interrupt void zhongduan(void) { if(P1IFG&0x04) { if(fp==0) { fp=1; while(1) { delay(1000); d5=~d5; } } else { d5=0; fp=0; } P1IFG&=~0x04; } P1IF=0; } void main(void) { P1SEL&=~0x0c; P1DIR&=~0x04; P1DIR|=0x08; init_vector(); d5=0; while(1); }
...全文
231 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40350695 2019-03-29
  • 打赏
  • 举报
回复
具体写法有问题
weixin_44229296 2019-03-28
  • 打赏
  • 举报
回复
引用 1 楼 一树梅的回复:
第二次按钮按下后,灯的确熄灭过,但是狠快就会接着闪烁。 中断处理函数有一段 while(1) { delay(1000); d5=~d5; } while(1)不退出,一直在闪烁。 定义一个变量记录第2次按下按钮的状态,在while(1)里判断此变量进而退出while。
能具体说下该怎么写吗,刚开始学,不知道怎么写
yishumei 2019-03-28
  • 打赏
  • 举报
回复
第二次按钮按下后,灯的确熄灭过,但是狠快就会接着闪烁。 中断处理函数有一段 while(1) { delay(1000); d5=~d5; } while(1)不退出,一直在闪烁。 定义一个变量记录第2次按下按钮的状态,在while(1)里判断此变量进而退出while。

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧