OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9781|回复: 18

串口发送文件到PC问题

[复制链接]

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
发表于 2018-1-31 22:58:03 | 显示全部楼层 |阅读模式
50金钱
录音例程里面的问题,现在我想把SD卡里面录到的wav文件读出了然后通过串口发送到调试助手,然后电脑的调试助手接收完数据就把数据保存成一个wav文件播放,但问题出现了,播放都是杂音,例程是读出wav文件数据后就送给VS1053播放的,我试了可以播放,但把数据不送给VS1053而是通过串口发送到PC调试助手,数据保存成wav播放就不行了,是什么问题呢?

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-1-31 22:58:04 | 显示全部楼层
laoshangzhu 发表于 2018-2-5 10:07
现在我接收的数据跟sd卡里面的wav文件的十六进制是一样的了,现在问题就是怎么把数据保存成wav文件播放搞 ...

得串口软件支持哦
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-2-1 01:14:47 | 显示全部楼层
串口你怎么保存的,有步骤么?
回复

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2018-2-1 09:05:59 | 显示全部楼层
我没用串口做,但是我用过TCP做过,一点问题都没有,播放很流畅
我是可以什么都不说 ,但不可以什么都不做。
回复

使用道具 举报

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
 楼主| 发表于 2018-2-1 10:32:12 | 显示全部楼层
super910906 发表于 2018-2-1 09:05
我没用串口做,但是我用过TCP做过,一点问题都没有,播放很流畅

我也是通过串口发文件数据给wifi模块,然后TCP无线传输到PC端的网络调试助手,然后保存接收的数据成wav文件,但就是播放杂音,请问你是怎么保存数据的呢?以及你发数据怎么发的,你加了什么协议吗?困扰了我好久了
回复

使用道具 举报

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
 楼主| 发表于 2018-2-1 10:36:58 | 显示全部楼层
正点原子 发表于 2018-2-1 01:14
串口你怎么保存的,有步骤么?

就是透传,没有协议,就是把sd卡的wav文件f_read读出来到buff,然后通过串口发给wifi模块,然后wiff无线透传给PC端的网络调试助手接收,不过打开sd卡的wav文件和自己接收到数据保存成wav文件看,好像不太一样,请问要读sd卡里面的wav文件出来,应该以什么格式呢,  单纯的U8,好像发过去就不行
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-2-2 01:46:45 | 显示全部楼层
laoshangzhu 发表于 2018-2-1 10:36
就是透传,没有协议,就是把sd卡的wav文件f_read读出来到buff,然后通过串口发给wifi模块,然后wiff无线透 ...

你如果仅仅为了证明你的无线音频传输,那就从头开始读取,从头开始发,完整的发过去。
就是以u8发,但是电脑端,要设置hex显示。然后把这个保存为一个文件,只要传输过程,没有数据丢失,肯定就可以正常播放。

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
 楼主| 发表于 2018-2-2 09:16:08 | 显示全部楼层
本帖最后由 laoshangzhu 于 2018-2-2 09:17 编辑
正点原子 发表于 2018-2-2 01:46
你如果仅仅为了证明你的无线音频传输,那就从头开始读取,从头开始发,完整的发过去。
就是以u8发,但是 ...

那我读出来的u8数据是也是以16进制的格式发送吗,我是这样的printf("%x",buff[k])的循环;
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-2-3 01:32:57 | 显示全部楼层
laoshangzhu 发表于 2018-2-2 09:16
那我读出来的u8数据是也是以16进制的格式发送吗,我是这样的printf("%x",buff[k])的循环;

不要用printf,直接写dr,所有的文件,都可以用u8来发送,是基本单位啊!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2018-2-5 08:28:14 | 显示全部楼层
laoshangzhu 发表于 2018-2-1 10:32
我也是通过串口发文件数据给wifi模块,然后TCP无线传输到PC端的网络调试助手,然后保存接收的数据成wav文 ...

我自己传输的时候还有头尾、CRC、扰码、版本、日期、心跳,自己订的协议
我是可以什么都不说 ,但不可以什么都不做。
回复

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2018-2-5 08:30:56 | 显示全部楼层
本帖最后由 super910906 于 2018-2-5 08:32 编辑
laoshangzhu 发表于 2018-2-1 10:32
我也是通过串口发文件数据给wifi模块,然后TCP无线传输到PC端的网络调试助手,然后保存接收的数据成wav文 ...

//初始化WAV头               
void WAV_Header_init(_WAV_Header* wavhead)            
{
        wavhead->riff.ChunkID = 0x46464952;    //"RIFF"
        wavhead->riff.ChunkSize = 0;           //还未确定,最后需要计算
        wavhead->riff.Format = 0x45564157;     //"WAVE"
        wavhead->fmt.ChunkID = 0x20746D66;     //"fmt "
        wavhead->fmt.ChunkSize = 16;           //大小为16个字节
        wavhead->fmt.AudioFormat = 0x01;       //0x01,表示PCM
         wavhead->fmt.NumOfChannels = 1;        //单声道
         wavhead->fmt.SampleRate = 8000;        //8Khz采样率 采样速率
         wavhead->fmt.ByteRate = wavhead->fmt.SampleRate;//16位,即2个字节
         wavhead->fmt.BlockAlign = 2;           //块大小,2个字节为一个块
         wavhead->fmt.BitsPerSample = 16;       //16位PCM
           wavhead->data.ChunkID = 0x61746164;    //"data"
         wavhead->data.ChunkSize = 0;           //数据大小,还需要计算  
}
看看这个吧
我是可以什么都不说 ,但不可以什么都不做。
回复

使用道具 举报

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
 楼主| 发表于 2018-2-5 10:07:10 | 显示全部楼层
super910906 发表于 2018-2-5 08:30
//初始化WAV头               
void WAV_Header_init(_WAV_Header* wavhead)            
{

现在我接收的数据跟sd卡里面的wav文件的十六进制是一样的了,现在问题就是怎么把数据保存成wav文件播放搞不通,直接改后缀名播放不了 ,通过PCM转换wav的软件转换后播放是杂音,明明数据都一样了,所以搞不懂,你但是是怎么把接收到到数据解析成wav文件播放的呢
回复

使用道具 举报

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
 楼主| 发表于 2018-2-5 10:07:45 | 显示全部楼层
正点原子 发表于 2018-2-3 01:32
不要用printf,直接写dr,所有的文件,都可以用u8来发送,是基本单位啊!

现在我接收的数据跟sd卡里面的wav文件的十六进制是一样的了,现在问题就是怎么把数据保存成wav文件播放搞不通,直接改后缀名播放不了 ,通过PCM转换wav的软件转换后播放是杂音,明明数据都一样了,所以搞不懂,怎么把接收到到数据解析成wav文件播放的呢
回复

使用道具 举报

1

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2018-1-30
在线时间
22 小时
发表于 2018-2-6 11:47:48 | 显示全部楼层
laoshangzhu 发表于 2018-2-5 10:07
现在我接收的数据跟sd卡里面的wav文件的十六进制是一样的了,现在问题就是怎么把数据保存成wav文件播放搞 ...

你好,请问楼主解决了吗,向请教一下
回复

使用道具 举报

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
 楼主| 发表于 2018-2-7 10:34:42 | 显示全部楼层
wkz2018 发表于 2018-2-6 11:47
你好,请问楼主解决了吗,向请教一下

嗯嗯
回复

使用道具 举报

1

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2018-1-30
在线时间
22 小时
发表于 2018-2-11 14:07:22 | 显示全部楼层

方便加QQ交流吗969209631,谢谢了
回复

使用道具 举报

9

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2015-11-30
在线时间
47 小时
 楼主| 发表于 2018-2-20 13:24:50 | 显示全部楼层
wkz2018 发表于 2018-2-11 14:07
方便加QQ交流吗969209631,谢谢了

850995894  加我吧
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2018-4-24
在线时间
1 小时
发表于 2018-4-24 20:33:25 | 显示全部楼层
请问电脑的调试助手接收完数据怎样把数据保存成一个wav文件播放
回复

使用道具 举报

2

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2018-6-5
在线时间
22 小时
发表于 2021-7-21 16:21:03 | 显示全部楼层
您好,文件是怎么通过串口发送的,是f_read读到buf后发送的吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 06:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表