Page 1 of 1

xTaskNotify()和xTaskGenericNotify()的区别?

Posted: Mon Apr 19, 2021 4:32 am
by zliudr
好像在线说明只有后者的说明,没有前者,只是在说明中有所提及。好像generic版本多一个变量,可以把notification的原有数值取出来。我到RTOS网站上看了一下xTaskNotify()好像除了这点没有区别,是么?

https://docs.espressif.com/projects/esp ... P8uint32_t

Re: xTaskNotify()和xTaskGenericNotify()的区别?

Posted: Tue Apr 20, 2021 11:59 am
by ESP_Gargamel
是的。

Code: Select all

BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue ) PRIVILEGED_FUNCTION;
#define xTaskNotify( xTaskToNotify, ulValue, eAction ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), NULL )
xTaskNotify 就是 xTaskGenericNotify 最后一个参数为 NULL 的版本,xTaskGenericNotify 可以获取任务之前一次 notification 值。