完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
程序没有卡在中断里面,触发函数运行没问题,但触发过后,main中的函数就是不运行了
主函数如下:
中断函数:
但是这句:while(b < 0xffff)//注释掉循环问题后正常 有大神能解答么,多谢 |
|
相关推荐
12个回答
|
|
你还有一句B = 0呢?反复清零,什么时候能达到退出?既然主函数不运行,说明有人霸占了CPU的使用权,你想想
最佳答案
|
|
|
|
变量b是个U32的变量,他满足这个条件while(b < 0xffff),会一直执行,一直霸占,只要小于65535,这是个死循环,你为什么这么用呢?中断我从没用过死循环,中断的机制你可能没搞懂,不能这么用
|
|
|
|
dabing89 发表于 2016-8-14 21:32 一直按住按键b会自增啊,超过后就推出while了,处理防抖的一种方式,这个中断本身是没问题的,控制引脚A10上的LED开关都正常 |
|
|
|
就不能用普通的延时函数吗?非要要这样的方式去延时消抖? |
|
|
|
呵呵,自己的程序要好好检查
|
|
|
|
|
|
|
|
非常感谢你的指点,多谢 |
|
|
|
不过: if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0) == 0) //消抖 { delay_ms(20); if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_0) == 0)a = !a; } 这种消抖经常错误触发啊,有什么更好的消抖方法么 |
|
|
|
if(...) { delay(); if(...) { //you code } } |
|
|
|
|
|
|
|
本帖最后由 dabing89 于 2016-8-17 11:31 编辑
加一下延时看看,试一试吧。。。。。。。。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1063 浏览 0 评论
2395 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2190 浏览 3 评论
4824 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2333 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 04:04 , Processed in 0.713075 second(s), Total 64, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号