普通任务通知事件创建创建及运行,参阅安富莱电子demo
#define BIT_0 (1 << 0)
#define BIT_1 (1 << 1)
static TaskHandle_t xHandleTaskUserIF = NULL;
static TaskHandle_t xHandleTaskMsgPro = NULL;
static void vTaskTaskUserIF(void *pvParameters)
{
uint8_t ucKeyCode;
uint8_t pcWriteBuffer[500];
while(1)
{
ucKeyCode = bsp_GetKey();
if (ucKeyCode != KEY_NONE)
{
switch (ucKeyCode)
{
/* K1键按下 打印任务执行情况 */
case KEY_DOWN_K1:
printf("=================================================\r\n");
printf("任务名 任务状态 优先级 剩余栈 任务序号\r\n");
vTaskList((char *)&pcWriteBuffer);
printf("%s\r\n", pcWriteBuffer);
printf("\r\n任务名 运行计数 使用率\r\n");
vTaskGetRunTimeStats((char *)&pcWriteBuffer);
printf("%s\r\n", pcWriteBuffer);
break;
/* K2键按下,直接发送事件标志设置给任务vTaskMsgPro,置位bit0 */
case KEY_DOWN_K2:
printf("K2键按下,任务vTaskMsgPro事件标志位bit0被置位 \r\n");
xTaskNotify(xHandleTaskMsgPro, /* 目标任务 */
BIT_0, /* 设置目标任务事件标志位bit0 */
eSetBits); /* 将目标任务的事件标志位与BIT_0进行或操作,
将结果赋值给事件标志位。*/

最低0.47元/天 解锁文章
1065

被折叠的 条评论
为什么被折叠?



