• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

串口发送数据写spi flash速度

skawu 2018-06-22 浏览量:1235
使用串口115200波特率发送文件,spi写flash w25qxx系列的flash,spi是4M,如果串口一直发,flash的写动作可以同步吗?还是说每发一个字节要延时一段等flash写完?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 由于SPI是全双工通讯,所以通讯的速度能达到M级别

    而串口的通讯波特率只有115200,远远低于SPI的速度

    建议楼主考虑匹配一下通讯速度,才能达到同步

    • 发布于 2018-06-30
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:8
  • 要看flash的读写速度 一般是需要加延时的 不然有可能会丢步
    • 发布于2018-06-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种建议二者都使用DMA,一般来说,SPI的速度远高于串口。

    如果不用DMA,那么就必须靠单片机内核来处理写入的过程,这样写入时就无法接收串口数据了

    启用DMA后这个写SPI FLASH过程就是自行操作的了,不需要消耗CPU资源

    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口等SPI那是绝对不可能的,SPI的速度要远比串口快得多,楼主考虑串口传输SPI FLASH的问题,应该是让SPI等串口才对。

    • 发布于2018-06-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口的速度要低于SPI的太多了,串口尽管发就可以了,SPI还是处理的过来的。
    • 发布于2018-06-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 看你的描述是你的串口速度跟不上SPI的速度才对,所以觉得你应该检查一下你的代码中是不是有延时导致SPI速度降下来了
    • 发布于2018-06-28
    • 举报
    • 评论 0
    • 0
    • 0

  • mcu需要二个缓存交替写入FLASH是可以的,我用230400的波特率试了没问题,比如缓存1满了就可以写入flash同时写入的时候串口可以把数据写入缓存2

    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 主要是你的读写速度要跟你的总线同步,时序不同步是不能正常通讯的
    • 发布于2018-07-19
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

串口发送数据写spi flash速度