cyf1029
发表于 2025-8-25 15:07:25
梁工 发表于 2025-8-25 13:52
这是综合应用,参考“Ai8051U实现USB全双工声卡”,但USB通讯改为串口通讯。
其实你的应用相对简单:
1、 ...
不需要对声音进行ADC采样
就是将音频文件通过串口功能发送给AI8051U,AI8051U将收到的串口数据转换成音频数据通过I2S发送出去。
我看USB声卡不需要解码,flash播放需要解码,两个例程在I2S中断中的处理不一样,那像上面的需求,我需要参考哪个例程进行修改?
梁工
发表于 2025-8-25 17:03:03
cyf1029 发表于 2025-8-25 15:07
不需要对声音进行ADC采样
就是将音频文件通过串口功能发送给AI8051U,AI8051U将收到的串口数据转换成音频 ...
那就看声卡中的播放部分,ADC上传部分去掉,将播放部分获取数据的USB程序,换成串口接收即可。要注意串口的速度是否足够。比如,单声道,16KHz采样,一个点2字节,则为32KB/S,用串口的话,一位起始位,8位数据,一位停止位,即10位一个字节,则要求串口速度至少要320Kbps,实际要更高,因为需要处理同步。
cyf1029
发表于 2025-8-25 18:31:54
梁工 发表于 2025-8-25 17:03
那就看声卡中的播放部分,ADC上传部分去掉,将播放部分获取数据的USB程序,换成串口接收即可。要注意串口 ...
我打算先用CDC串口调通,再将CDC串口改成串口。
将USB声卡例程中USB获取数据的部分放到cdc的中断回调函数中处理,i2s中断处理函数仍旧使用USB声卡部分代码。使用串口助手发送音频文件,喇叭没有声音。梁工能帮忙看下是哪里的问题吗?
梁工
发表于 2025-8-25 22:49:11
cyf1029 发表于 2025-8-25 18:31
我打算先用CDC串口调通,再将CDC串口改成串口。
将USB声卡例程中USB获取数据的部分放到cdc的中断回调函数 ...
STC32G12K128,没有I2S接口!
你的应用可以参考我较早的程序:
51开源-仿USB声卡I2S接口播放PCM格式立体声音乐@STC32F12K54 USB-CDC实时传输音频流
https://www.stcaimcu.com/thread-5246-1-1.html
(出处: 国芯人工智能技术交流网站)
cyf1029
发表于 2025-8-26 09:42:31
梁工 发表于 2025-8-25 22:49
STC32G12K128,没有I2S接口!
你的应用可以参考我较早的程序:
MCU用的是AI8051U,播放ADPCM音频
cyf1029
发表于 2025-8-26 09:43:31
梁工 发表于 2025-8-25 22:49
STC32G12K128,没有I2S接口!
你的应用可以参考我较早的程序:
这个我参考了一下,移植了CDC的数据处理和I2S中断函数,播放PCM音频没有声音
梁工
发表于 2025-8-26 10:15:30
cyf1029 发表于 2025-8-26 09:43
这个我参考了一下,移植了CDC的数据处理和I2S中断函数,播放PCM音频没有声音 ...
先输出一个正弦波看看,说不定是你的I2S还没正常呢?分开调试I2S和串口通信。
梁工
发表于 2025-8-26 10:16:02
cyf1029 发表于 2025-8-26 09:42
MCU用的是AI8051U,播放ADPCM音频
方法一样的。
cyf1029
发表于 2025-8-26 10:34:37
梁工 发表于 2025-8-26 10:15
先输出一个正弦波看看,说不定是你的I2S还没正常呢?分开调试I2S和串口通信。 ...
I2S是正常的,81-I2S-播放下载在FLASH中的立体声ADPCM音乐-TLV320AIC23B这个例程可以播放音频
梁工
发表于 2025-8-26 12:00:52
cyf1029 发表于 2025-8-26 10:34
I2S是正常的,81-I2S-播放下载在FLASH中的立体声ADPCM音乐-TLV320AIC23B这个例程可以播放音频
...
那我抽时间给你写一个例子吧
页:
1
2
3
4
5
6
7
8
[9]
10