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

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

[复制链接]
搬砖工 提问时间:2018-8-10 08:50 /
阅读主题, 点击返回1楼
收藏 评论26 发布时间:2018-8-10 08:50
26个回答
爱电子辉辉 回答时间: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放图片数据可以直接发下去么,发下去还是直接还是数组里面的数据么,求指点
七哥 回答时间: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

查看全部评分

搬砖工 回答时间:2018-8-10 15:26:19
toofree 发表于 2018-8-10 14:09
协议是为了保证不出错,把一幅图片分成若干个包往下传。
如果距离短,而且传输稳定,下位机能来得及处理的 ...

受教了,谢谢
搬砖工 回答时间:2018-8-10 15:26:37
安 发表于 2018-8-10 14:20
可以了解下多线程下载,先可以通过串口告知文件名称,大小。我们使用文件系统在磁盘中建立一个同样的名字, ...

受教了,谢谢
feixiang20 回答时间:2018-8-11 00:46:09
第一步:首先配置串口中断,第二步:写中断处理函数,程序运行时,只需要将配置串口函数放到主函数中,当串口发来一帧数据后即可将所有数据存到接受缓冲数组中。
使用串口类似这样的
#include "stm32f10x.h"
#include "usart.h"
u8 USART_rx_data;
int main(void)
{
RCC_Configuration(); //系统时钟配置
GPIO_Configuration(); //端口初始化
NVIC_Configuration(); //中断源配置
USART_Configuration(); //串口1初始化
Time_Init(); //定时器初始化
#ifdef DEBUG
debug();
#endif
TIM_Cmd(TIM3,ENABLE);
while(1)
{
}
}

评分

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

查看全部评分

STM1024 回答时间:2018-8-11 08:23:29
从技术上看,这个没有任何问题。
所有的文件,本质都是数据流,也就是一系列的字节构成的,你把文件中的每一个字节读出来,然后通过串口发送给stm32即可。
但是从应用层上来说,方案就很多了。最简单的是你把数据存在flash或者ROM中,一般hex、bin等采用这种方式更新程序。但是,文件、图片,一般比较大,stm32的内部储存器很有可能放不下,这个时候就需要使用外部储存器,例如TF卡之类的,然后又需要实现文件系统,不然对文件的管理比较麻烦。
最后就是,对于bmp之类的文件,你还要实现一个praser,解析其中的数据,让它用合适的形式表现出来。

评分

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

查看全部评分

cout zeng 回答时间:2018-8-11 15:08:30
用把文件转成HEX,通过串口发

评分

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

查看全部评分

cout zeng 回答时间:2018-8-12 15:55:27
up~~~~~~~~
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版