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

SPI这个时序图如何转换为这个代码的

小白爱32 2019-05-07 浏览量:804

SPI擦flash的这个时序图如何转换为这个代码的,感觉完全看不懂,我是不是就不适合学32呢,学个SPI都这么慢,根本看不懂,请各位给解答,谢谢

时序.jpg

代码.jpg


1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1,片选cs拉低

    2,发送扇区擦出指令0x20

    3,发送扇区地址高8位

    4,发送扇区地址中8为

    5,发送扇区地址地8位

    6,片选cs拉高,

    写6就就是函数的意思,

    • 发布于 2019-05-08
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 这是个flash的块擦除命令,共四个字节,一字节命令,3字节数据地址。MCU和flash通过SPI接口通信,单片机先发命令0x02,然后依次是地址的最高、中间、最低字节,发完后,将CS线拉高。
    • 发布于2019-05-07
    • 举报
    • 评论 0
    • 1
    • 0


  • 第一条命令SPI_FLASH_CS_LOW();对应的CS,操作过程中把CS拉低。

    W25X_SectorErase,应该有相关定义,就是你时序图中间的Instruction(20h),也就是图中DI占用CLK的0~7的那部分。
    (SectorAddr & 0xFF0000)>>16、(SectorAddr & 0xFF00)>>8、(SectorAddr & 0xFF)就是分三次,每次8bits把SectorAddr发送出来,对应的是DI的24-Bit Address部分。
    操作完成后,把CS拉高。
    本次操作中,没有涉及到DO。
    • 发布于2019-05-08
    • 举报
    • 评论 0
    • 1
    • 0

  • 首先CS拉低,这个应该能看得懂吧,一般SPI的CS就是片选脚,片选脚拉低才工作‘

    然后CLK上面的意思就是发送32个时钟信号

    DI的意思就是先发一个0x20,这是第一个字节,然后后面三个字节是要擦除目标区域的地址

    DO的意思是一直为高,就是器件不会回复任何数据

    • 发布于2019-05-14
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

SPI这个时序图如何转换为这个代码的