你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

怎么使用串口传输文件、图片数据到STM32

[复制链接]
细品黑夜 提问时间:2018-8-10 08:50 /
阅读主题, 点击返回1楼
收藏 评论26 发布时间:2018-8-10 08:50
26个回答
细品黑夜 回答时间:2018-8-10 10:08:06
shanji 发表于 2018-8-10 10:03
你要知道,不管bin文件也好,bmp,jpg、txt文件也罢,到最后都是一堆的0和1,他们只是文件性质上的差别, ...

我这半桶水,就是不是很清楚,所以来请教各位大佬。我传下去的文件可以不用文件系统直接存外部SDRAM么
细品黑夜 回答时间:2018-8-10 10:09:57
shanji 发表于 2018-8-10 10:03
你要知道,不管bin文件也好,bmp,jpg、txt文件也罢,到最后都是一堆的0和1,他们只是文件性质上的差别, ...

还有就是,我接收到的数据是8位的,但是存SDRAM时是32位的,我需要怎么转换啊
wenyangzeng 回答时间:2018-8-10 10:20:50
本帖最后由 wenyangzeng 于 2018-8-10 10:23 编辑
细品黑夜 发表于 2018-8-10 09:50
使用YMODEM协议可以下载文件和图片进去么

串口通讯其实没什么问题,主要是你传输的是图片等文件,需要在STM32系统的存储设备里保存该文件,比如在USB存储设备里保存。否则这个通讯过程就没有多少实用性了。
文件系统的ST官方例程可以参考:
FatFs_USBDisk.rar (57.51 KB, 下载次数: 16)

评分

参与人数 2ST金币 +20 蝴蝶豆 +5 收起 理由
zero99 + 5
细品黑夜 + 20

查看全部评分

细品黑夜 回答时间:2018-8-10 10:27:13
wenyangzeng 发表于 2018-8-10 10:20
串口通讯其实没什么问题,主要是你传输的是图片等文件,需要在STM32系统的存储设备里保存该文件,比如在US ...

好的,谢谢啊。我去学习学习。不懂再来请教各位大佬
toofree 回答时间:2018-8-10 11:09:50
本帖最后由 toofree 于 2018-8-10 11:15 编辑

简单点的,你就传输24位BMP图片吧。
从前54个数据为BMP头结构体,包含文件格式,数据量大小,图像长宽等信息。54之后的全部是RGB图像数据,格式依次是B、G、R。
傲游截图20180810110647.png

傲游截图20180810110639.png

串口发送数据的话,用文件传输就可以
傲游截图20180810110935.png


评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

爱电子辉辉 回答时间:2018-8-10 11:11:43
其实不管是文件还是图片,YMODEM只是一种传输协议而已。。上位机那边你需要读取图片信息.放到一个buf中(RGB数据),然后发送的时候按照YMODEM协议进行发送。下位机根据YMODEM协议进行解析。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

细品黑夜 回答时间:2018-8-10 12:01:12
toofree 发表于 2018-8-10 11:09
简单点的,你就传输24位BMP图片吧。
从前54个数据为BMP头结构体,包含文件格式,数据量大小,图像长宽等信 ...

用文件传输是不需要协议的么,直接将文件数据丢下去是么。以前没做过这样的,大佬指点下,谢谢
细品黑夜 回答时间:2018-8-10 12:03:57
爱电子辉辉 发表于 2018-8-10 11:11
其实不管是文件还是图片,YMODEM只是一种传输协议而已。。上位机那边你需要读取图片信息.放到一个buf中(RG ...

在文本建立一个BUF放图片数据可以直接发下去么,发下去还是直接还是数组里面的数据么,求指点
toofree 回答时间:2018-8-10 14:09:48
细品黑夜 发表于 2018-8-10 12:01
用文件传输是不需要协议的么,直接将文件数据丢下去是么。以前没做过这样的,大佬指点下,谢谢 ...

协议是为了保证不出错,把一幅图片分成若干个包往下传。
如果距离短,而且传输稳定,下位机能来得及处理的话,那么可以直接往下传文件。

评分

参与人数 1ST金币 +20 收起 理由
细品黑夜 + 20

查看全部评分

回答时间:2018-8-10 14:20:47
可以了解下多线程下载,先可以通过串口告知文件名称,大小。我们使用文件系统在磁盘中建立一个同样的名字,然后就通过文件流的方式(可能叫法不同,意思雷同即可),将数据写入到该文件中。我理解的是需要在硬盘中写入该文件,而不是通过f_write这种方式写。

评分

参与人数 2ST金币 +20 蝴蝶豆 +4 收起 理由
zero99 + 4
细品黑夜 + 20

查看全部评分

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版