[STM32F4] 使用串口和SPI给外部FLASH烧录字库问题求助

[复制链接]
4228|14
 楼主| msq199058 发表于 2017-8-16 10:27 | 显示全部楼层 |阅读模式
接触ST芯片不久,想使用串口和SPI给外部FLASH烧录字库却总是不成功,只烧进了一部分字库,怀疑是烧写速度的问题,但是波特率调低了好像也不行,大家帮忙看看程序哪里有问题呀?
串口程序.png
mmuuss586 发表于 2017-8-16 11:20 | 显示全部楼层
最好在主程序里写入数据;
不要放在中断里;

评论

SPI写FLASH的速度是45M应该不影响吧?  发表于 2017-8-16 14:01
feelhyq 发表于 2017-8-16 12:17 | 显示全部楼层
mmuuss586 发表于 2017-8-16 11:20
最好在主程序里写入数据;
不要放在中断里;

 楼主| msq199058 发表于 2017-8-17 09:19 | 显示全部楼层
没有其他思路了么
Prry 发表于 2017-8-18 14:51 | 显示全部楼层
放串口中断里面写数据,能正确才怪!
 楼主| msq199058 发表于 2017-8-25 16:19 | 显示全部楼层
Prry 发表于 2017-8-18 14:51
放串口中断里面写数据,能正确才怪!

能不能举个例子要怎么用才好
Prry 发表于 2017-8-25 16:22 | 显示全部楼层
msq199058 发表于 2017-8-25 16:19
能不能举个例子要怎么用才好

1、增加串口接收缓存,典型的就是环形缓冲区(FIFO);
2、裸机的话,在main函数中处理数据——读取FIFO的数据,解析并写入flash;带操作系统的话则开一个线程处理。
xixi2017 发表于 2017-8-25 19:34 | 显示全部楼层
45M,这么快。
山东电子小菜鸟 发表于 2017-8-25 20:46 | 显示全部楼层
 楼主| msq199058 发表于 2017-8-27 22:19 | 显示全部楼层
Prry 发表于 2017-8-25 16:22
1、增加串口接收缓存,典型的就是环形缓冲区(FIFO);
2、裸机的话,在main函数中处理数据——读取FIFO ...

好的,明天试一下看看
zhaoyongcheng11 发表于 2019-10-8 09:53 | 显示全部楼层
每次中断只接受一个字节,每次往flash写一字节就没问题了
DIY小幸福 发表于 2021-8-16 11:22 | 显示全部楼层
研究研究
andygirl 发表于 2021-8-26 15:57 | 显示全部楼层
个人觉得,串口中断只接收数据,不处理。处理在中断外进行。
ljxh401 发表于 2021-8-26 16:18 | 显示全部楼层
在中断里面不要写数据,放到一个消息队列里面 或者一个 buffer里面
串口传输数据的协议 要写明一次传输多少数据,最好有空闲查询,做速度匹配
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

68

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部