完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
坑哥在编写STML152K4的一个简单的按键输入中断时被迷惑了半天,做一个总结帮助后人填坑。
BUG坑现象 void key_init(void) { GPIO_Init(POWER_KEY, GPIO_Mode_In_FL_IT); EXTI_DeInit(); EXTI_SetPinSensitivity(EXTI_Pin_4, EXTI_Trigger_Falling);//下降沿触发 } 上面是一个按键外部中断初始化的代码,看似没什么问题。但是调试时候问题出现了,稍微碰一下按键中断在中断函数里不断进行触发,即使请了外部中断标志位 还是不停触发。通过调试发现需要在按键初始化前先关闭总中断 然后在开启总中断。 void key_init(void) { disableInterrupts(); GPIO_Init(POWER_KEY, GPIO_Mode_In_FL_IT); EXTI_DeInit(); EXTI_SetPinSensitivity(EXTI_Pin_4, EXTI_Trigger_Falling); enableInterrupts(); } 通过上面配置,还是发现当IO配置成浮空输入时候因为没有固定的电平会经常误触发,因此建议使用IO配置成GPIO_Mode_In_PU_IT这种模式给予固定的上拉电平。 在看一下硬件上面的BUG问题 下面是客户的一个板子的原理图按键,我在实际使用时IO配置成输入上拉中断模式发现死活不能进入中断函数。后面经过分析问题出在了这个电阻上面,当IO配置成上拉模式时候此处电阻过大(可能客户为了低功耗不得而知)导致得不到低电平了。具体可以看下STM8L手册配置成IO上拉时官方给接电阻是多少,结合此处的电阻进行合理选择达到功耗最低。此处坑哥后来改成了4.7K可以正常使用。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1758 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1055 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1931浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
721浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
563浏览 3评论
590浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
548浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 02:52 , Processed in 0.977511 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号