打印
[STM32F1]

串口DMA方式如何读取大量数据并写入到SFLASH

[复制链接]
920|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sio4|  楼主 | 2018-10-25 11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口连续接收一个大文件,比如200K的bin文件(16M以内),边接收边写入到SFLASH中,我的思路是:设置2个4096字节的接收buffer,然后切换接收,一个buffer接收过程中,另外一个buffer的数据写入到sflash,串口接收采用DMA+空闲中断,现在的问题是:如何在一个buffer数据收完后及时切换到另外一个buffer?

沙发
cjl405944519| | 2018-10-25 17:29 | 只看该作者
搞2个队列,满了换一个。

使用特权

评论回复
板凳
yiy| | 2018-10-25 20:25 | 只看该作者
满了之后能否触发一个中断,然后中断里切换

使用特权

评论回复
地板
sio4|  楼主 | 2018-10-26 08:49 | 只看该作者
更换了中断方式,改为DMA传输完成中断就可以了

使用特权

评论回复
5
xiaoqizi| | 2018-11-5 17:18 | 只看该作者
用指针操作吧

使用特权

评论回复
6
zhuotuzi| | 2018-11-5 18:48 | 只看该作者
嗯,中断还是非常好用的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

74

帖子

1

粉丝