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

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

[复制链接]
细品黑夜 提问时间:2018-8-10 08:50 /
阅读主题, 点击返回1楼
收藏 评论26 发布时间:2018-8-10 08:50
26个回答
细品黑夜 回答时间: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

查看全部评分

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

评分

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

查看全部评分

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