CMSIS freertos的事件标志组的问题
使用STM32CubeMX生成的FreeRTOS系统中,似乎没有新封装的事件标志组,如果按照原生的FreeRTOS使用事件标志组,则任务中的xEventGroupSetBits函数没有问题,中断函数中的就无法使用xEventGroupSetBitsFromISR。在此请教一下,有没有办法在中断函数中设置指定的事件标志位。似乎ARM没有把它加进来。 一种方式是退到原生态的FREERTOS用, 另一种是来自其他工程师的建议,可以尝试一下能不能帮到你:)
使用事件标志组中的函数xEventGroupSetBitsFromISR,务必使能以下三个宏定义
(1)#define INCLUDE_xEventGroupSetBitFromISR 1
(2)#define INCLUDE_xTimerPendFunctionCall 1
(3)#define configUSE_TIMERS 1
因为使能了FreeRTOS的定时器组任务,定时器组的其它宏定义也做一下配置,配置如下:
(1)#define configTIMER_TASK_PRIORITY ( 5 )
(2)#define configTIMER_QUEUE_LENGTH 20
(3)#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 ) butterflyspring 发表于 2019-3-14 16:58
似乎ARM没有把它加进来。 一种方式是退到原生态的FREERTOS用, 另一种是来自其他工程师的建议,可以尝试一 ...
谢谢回复。目前在Cube环境下使用FreeRTOS仅仅只使用信号量,事件标志就没使用了。但是,因为没教程,不知消息邮箱能否使用。
页:
[1]