高级会员

- 积分
- 742
- 金钱
- 742
- 注册时间
- 2019-11-13
- 在线时间
- 288 小时
|

楼主 |
发表于 2021-10-9 10:10:25
|
显示全部楼层
本帖最后由 ucmic 于 2021-10-9 10:11 编辑
我用的是裸机例程里的,9_int,把中断里的state=0,改成state=1,就不行了,运行时在主函数死掉了。- void gpio1_io18_irqhandler(void)
- {
- static unsigned char state = 1;//改成1就死机。
- /*
- *采用延时消抖,中断服务函数中禁止使用延时函数!因为中断服务需要
- *快进快出!!这里为了演示所以采用了延时函数进行消抖,后面我们会讲解
- *定时器中断消抖法!!!
- */
- delay(10);
- if(gpio_pinread(GPIO1, 18) == 0) /* 按键按下了 */
- {
- state = !state;
- beep_switch(state);
- }
-
- gpio_clearintflags(GPIO1, 18); /* 清除中断标志位 */
- }
复制代码
|
|