2
5
0
新手上路
FreeRTOS:最近在学习freeRTOS操作系统。使用freeRTOS V6.0.5版和cotexM0内核的芯片。系统中创建了两个任务:点灯(低优先级)、串口通信(高优先级),点灯任务还要完成喂狗功能;此外还创建了一个信号量。vTaskdDelay()是在点灯任务里面调用的;xSemaphoreTake()在串口通信任务函数里面调用来获取信号量,在串口中断中判断收到完整的帧后就使用xSemaphoreGiveFromISR()发送信号量,判断信号量发送成功后进行上下文切换退出中断函数。在仿真调试时发现退出中断函数后系统已经切换到串口通信任务中,但是接下来串口通信任务和点灯任务的任务函数就再也执行不到,导致看门狗复位。vtaskdelay()和xSemaphoreTake()单独使用的时候系统都能正常运行,当他们同时使用时系统就会死机,请问各位高手知不知道这是什么问题?
我来回答
使用道具 举报
19
234
中级会员
本版积分规则 发表回复 回帖后跳转到最后一页
查看 »
正点原子公众号
|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )
GMT+8, 2024-11-22 17:38
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网