完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
TP触摸中断后,在中断中读取数据,然后通过队列把坐标数据发送给对应任务,当我把TP中断脚接到中断component时,rtosApiResult = xQueueSendFromISR(tpCommandQ, tpCommand,0);这个函数是可以正常运行的,但是这种中断component只支持上升沿中断,不支持下降沿中断(无论我设置成上升沿还是下降沿甚至BOTH EDGE,但是始终只有上升沿中断);为了解决这个问题,就将中断component删掉,用Global Signal来代替,代替后,下降沿中断有了,但是出现新的问题,那就是所有带ISR的fressrtos的函数都用不了,更改前后的两个中断的优先级是一样的,唯一变化的是中断号。出错代码请见图片。请帮忙解答一下,是否所有Global Signal中断都不能用于freertos中?如果是,请告知其他的解决办法,谢谢
|
|
相关推荐
1个回答
|
|
|
要解决从中断向任务中发送信息的问题,可以尝试以下方法:
1. 确保在中断中正确读取数据,并且数据已经准备好发送到队列中。 2. 确保任务创建时已正确初始化队列,并且队列能够接收正确的数据类型。 3. 检查任务的优先级设置是否正确。如果任务的优先级低于中断的优先级,可能导致任务无法及时处理中断发送的消息。可以尝试增加任务的优先级。 4. 检查任务的堆栈大小是否足够。如果任务的堆栈大小不够,可能会导致任务在处理中断消息时出现错误。可以尝试增加任务的堆栈大小。 5. 检查中断的触发方式是否设置正确。确保中断触发条件符合预期,以确保中断能够正确触发和处理。 6. 如果使用的中断组件不支持下降沿触发方式,可以尝试使用其他方式实现下降沿中断的检测,例如使用GPIO的中断功能或其他外部硬件来检测下降沿触发条件。 7. 如果使用全局信号替代中断组件,需要确保全局信号的处理函数正确注册并能够处理中断事件。同时,需要注意全局信号的互斥保护,以防止竞争条件和数据错误。 对于无法使用带ISR的FreeRTOS函数的问题,可能是因为使用全局信号替代中断组件后,需要对相关代码进行适当的修改和调整。可以尝试使用RTOS原生的API函数来替代ISR函数,或者使用其他方式实现中断的处理。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
661 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
652 浏览 0 评论
有人有STM8H1K08T连接TM1650的源码吗,可以直接使用的那种,我的代码在烧录之后数码管一直处于熄灭状态
946 浏览 0 评论
【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程玩下97_e2 studio_ZGZZ
759 浏览 0 评论
846 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16955 浏览 31 评论
浏览过的版块 |
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-8 23:35 , Processed in 0.480526 second(s), Total 40, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2107