细品黑夜 发表于 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官方例程可以参考:


细品黑夜 发表于 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。




串口发送数据的话,用文件传输就可以



爱电子辉辉 发表于 2018-8-10 11:11:43

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

细品黑夜 发表于 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
用文件传输是不需要协议的么,直接将文件数据丢下去是么。以前没做过这样的,大佬指点下,谢谢 ...
协议是为了保证不出错,把一幅图片分成若干个包往下传。
如果距离短,而且传输稳定,下位机能来得及处理的话,那么可以直接往下传文件。

发表于 2018-8-10 14:20:47

可以了解下多线程下载,先可以通过串口告知文件名称,大小。我们使用文件系统在磁盘中建立一个同样的名字,然后就通过文件流的方式(可能叫法不同,意思雷同即可),将数据写入到该文件中。我理解的是需要在硬盘中写入该文件,而不是通过f_write这种方式写。
页: 1 [2] 3
查看完整版本: 怎么使用串口传输文件、图片数据到STM32