xEventGroupGetBitsFromISR的使用疑问
我在按键中断中调用xEventGroupGetBitsFromISR把中断信息发送出去,然后负责扫描按键的任务使用xEventGroupWaitBits等待这个事件,目前发现如果中断发送xEventGroupGetBitsFromISR过于频繁的话,就会把freertos的tmr svc任务弄死,具体表现就是一直处于ready态,而且xEventGroupGetBitsFromISR函数也会返回-3错误,这个大概会是什么原因的?1、原因
2、尝试将定时器任务设置为最高优先级,队列也加大些试试。
#define configTIMER_TASK_PRIORITY ( 2 )
#define configTIMER_QUEUE_LENGTH 10
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 )
eric2013 发表于 2022-11-12 10:11
1、原因
感谢大神的详细解答回复, 虽然可以针对优化软timer来规避,但是目前跟这个软timer打交道已经吃过不少亏了, 想绕过它,而是使用任务通知方式vTaskNotifyGiveFromISR,是否更加合理一些的? desmond 发表于 2022-11-15 09:59
感谢大神的详细解答回复, 虽然可以针对优化软timer来规避,但是目前跟这个软timer打交道已经吃过不少亏了, ...
没问题,也可以的。
页:
[1]