Hi,@kerryzhou
请教一个问题,我现在有两个任务,一个是SAI的任务,一个是HTTP的任务,SAI任务的优先级我设置的是6,,因为SAI任务里是一个while循环,没有任何delay,导致cpu无法调度到http的任务。但是如果我在SAI任务里加上vtaskdelay,就会导致音频处理异常。
我该如何做,既不影响SAI音频的正常处理,也能运行其他任务?
Hi,@kerryzhou
因为我不是在EVK板上进行开发,CODEC用的不一样。
附件中我还是将我的工程切换到了EVK板的CODEC运行,大致就是采集-输出的任务,再加一个http的任务,附件中SAI的任务是在全速运行,并且我加了一些基本算法,声音是正常的,但是此时lwip相关的任务是无法调度的。
拿着时候是不是SAI的任务就要让出CPU?但是我试过在任务中加Vtaskdelay,或者使用信号量的方式,只要web页面进行访问,都会影响到SAI音频的正常运行。
Hi @jarman_zhou ,
感谢你的问题更新。
我想问下,你现在的声音失真,和这个加了lwip的问题是不是一个问题?
https://community.nxp.com/t5/i-MX-Processors/RT1021-SAI-TDM-audio-abnormal/td-p/1667825
就是你两个问题是不是一个问题,还是两个问题,如果是一个问题,我就直接debug你这个帖子的代码了。
Best Regards,
kerry
楼主你好,你这个工程你那边编译有问题吗?
我这边编译很多问题,然后添加了缺失的文件路径,但是还是有问题。
可能这个工程本来是在你自己的平台跑,然后你移植到EVK的原因。
所以我现在都没跑起来,然后我直接看你的代码了。你的代码确实还是融合蛮多内容的。我看了你的sai优先级是比以太网的优先级要高的。如果你配置以太网优先级高些,是不是http就能跑了。
sai任务里面加delay确实是会影响到音频处理,这个应该是你不加其他task也有影响吧
我觉得你可以试试http的任务优先级比sai高试试,看看是否有影响。
目前我这边可能没法直接测试,因为工程报错太多了,所以直接看代码给你思路,你自己那边调试为主。
Best Regards,
Kerry
Hi,@kerryzhou
我的IDE MCUXpresso IDE v11.5.1 [Build 7266] [2022-04-13]
我这边把我发给你的工程重现导入到IDE中也发现好多配置都变了,属性里可以看到头文件的路径也丢失了一部分,链接的库文件也清空了,不知道什么原因,可能需要根据编译错误提示手动把路径添加进去了。
sai任务我试过加vtaskdelay(1),就已经会影响音频了,没有其他任务并行。