1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32F429IGb 在触摸屏驱动的touch.c 文件中,使能触摸屏中断,然后立马进入中断,回调中断回调函数 rx_callback ,这里释放一个信号量并关中断,导致等待信号量的地方意外获得信号量,等这边处理完后打开中断又进入中断,如此反复,自己形成了死循环。
为什么会这样,是touch.c里面使用方法不对,还是rt_pin_attach_irq 初始化gpio中断有bug? rt_pin_attach_irq 使能gpio中断后会立马进入中断函数吗? 谢谢! |
|
相关推荐
5个回答
|
|
中断触发有不同模式,上沿触发,下沿触发,高低电平触发,边沿触发等,请核对中断触发设置是否正确。
|
|
|
|
触摸屏触摸产生的中断。我使用的引脚是H6,单步调试代码发现,中断函数
EXTI9_5_IRQHandler -> HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_6), 函数代码如下: /* EXTI line interrupt detected */ if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); // 清中断标志 HAL_GPIO_EXTI_Callback(GPIO_Pin); } 在stm32f4xx_hal_gpio.h 头文件中有如下定义: #define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__) (EXTI->PR & (__EXTI_LINE__)) #define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__) (EXTI->PR = (__EXTI_LINE__)) 根本没有清理这个线的中断标志 没法编辑了 |
|
|
|
|
|
|
|
使能以前清除一下中断标志试试
|
|
|
|
一、先将touch.c中的配置函数、触摸中断的处理函数贴出来看看,你这样说,我们都只有你说的信息。
二、另外“这里释放一个信号量并关中断”这句话什么意思,中断中自行关中断是吗? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
529 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2000 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1174 浏览 0 评论
1674 浏览 0 评论
1439 浏览 0 评论
74750 浏览 21 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 23:47 , Processed in 0.727673 second(s), Total 77, Slave 61 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号