freertos任务级临界代码保护

freertos任务级临界代码保护

最近做项目过程中,调用播放tts语音接口播放语音时概率性出现语音播报卡顿问题,下面对此问题解决过程做个简单记录。
代码框架是一个语音播报任务,其他任务需要播报语音给此任务发送播报消息,收到播报消息后,播报对应消息的内容即可。
在这里插入图片描述

一.任务优先级

播报时卡顿,可能是因为播报过程中被其他任务打断造成的,所以从提高任务优先级方向考虑一下。
查看代码FreeRTOSConfig.h中configMAX_PRIORITIES值为任务优先级最大值(0~configMAX_PRIORITIES-1),查看其他任务的优先级别,将语音播报的优先级提高。
修改方法:
1.创建时增加其优先级
portBASE_TYPE xTaskCreate(pdTASK_CODE pvTaskCode,const portCHAR * const pcName,unsigned portSHORT usStackDepth,void *pvParameters,unsigned portBASE_TYPE uxPriority,xTaskHandle *pvCreatedTask);

<
参数 含义
pvTaskCode 指向任务的入口函数. 任务必须执行并且永不返回 (即:无限循环,一个句柄).
pcName 描述任务的名字。主要便于调试。最大长度由configMAX_TASK_NAME_LEN.定义
usStackDepth
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值