微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > 求助:用MQTT client库连接MQTT服务器后音频DMA发送停止!

求助:用MQTT client库连接MQTT服务器后音频DMA发送停止!

时间:10-02 整理:3721RD 点击:

我按照SDK里web audio和mqtt_client的例子, 打算实现一个远程通过MQTT服务控制音频播放的产品。例子单独运行没有任何问题,但是把2个例子结合到一起碰到了很奇怪的问题,当连接mosquitto服务器时几个数据包下来DMA发送就停止了。出问题后所有任务都正常,mqtt后续消息收发也正常。就是音频DMA中断没有了!

做过几个实验:

注释掉mqtt任务一切正常;

把mqtt任务换成while(1); 死循环也没有问题;说明不是CPU时间不够造成问题。

在mqtt库里增加一些osi_Sleep()有时能跑下去,但是稍微改点代码就会出同样问题,说明没有找到真正的原因;

看了IRQ寄存器,对应的IRQ clean被置1了,原因不明。(address 0xE000E180开始对应的中断bit);JTAG里手工改不回去

用HTTP cli库下载文件播放,音频没有任何问题;

现在没有任何头绪了,麻烦大牛提供一些线索,非常感谢!

有没有人遇到过这个问题啊?试了播放声音时做网络下载,或者TCP Socket通信都没有问题。看起来mqtt库也是调用sl网络接口通过socket收发数据,但是会出问题。怀疑sl某些函数或高级用法造成i2s dma冲突。

应该不是的,MQTT的库也是去调用TCP socket的,因为MQTT就是基于TCP的,它不会去调用其它特别的接口。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top