爱板网论坛

查看: 386|回复: 0

[GD32F450方案分享] GD32F450 驱动SPI FLASH W25Q128

[复制链接]

10

主题

0

好友

213

积分

秀才

Rank: 3Rank: 3

  • TA的每日心情
    开心
    2017-6-14 23:30
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2017-6-18 18:47:33 |显示全部楼层
        这么多外设都玩过了,现在来玩玩SPI总线。SPI最简单的从外设当属SPI FLASH了,只需要调通SPI总线的全双工工作模式就可以对FLASH进行擦除、读、写等操作,不像SPI传感器那样受到诸多如总线速度、数据跳变沿格式等的限制,非常的简单方便,而业界测试一款MCU或者MPU的SPI总线,最简便的方法便是驱动SPI FLASH。

    IMG_20170618_183431.jpg
       

           我使用的SPI FLASH型号是WinBond(华邦)的W25Q128,在正点原子STM32开发板上面非常常见。W25Q128采用SOP8封装,带有全双工SPI接口,器件ID是0xEF17,只要向SPI器件发送读取指令返回0xEF17,就可以确定这个器件是W25Q128,也就可以确定SPI通信正常。

    4.JPG
       
             实验开始,W25Q128连接到了小红板的SPI3接口,连接方式为PE5(MISO)->SO,PE6(MOSI)->SI,PE2(MCLK)->SCLK,PE4(NSS)->SCS,WP->VCC,RST->VCC。

    5.JPG
    IMG_20170618_183442.jpg

        值得一提的是,GD32的库里面关于SPI读写的部分并不完整,或者说并不人性化,使得我们要调用SPI外设还要自己写发送接收的函数,因此,要注意发送标志位SPI_STAT_TRANS和接收标志位SPI_STAT_RBNE,当这些位发生变化时才能发送和接收,不然就会出错。

    6.JPG
         

    通过串口观察读写情况。

    1.JPG
    2.JPG
    3.JPG
        上传一份工程文件。 工程文件.zip (413.76 KB, 下载次数: 8)

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /1 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-12-16 22:56 , Processed in 0.394432 second(s), 11 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部