色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用標準SPI的方式去讀寫W25Q128呢

冬至配餃子 ? 來源:TopSemic嵌入式 ? 作者:TopSemic ? 2022-08-16 10:21 ? 次閱讀

1.W25Q128介紹

當我們有比較多的數(shù)據(jù)需要掉電存儲時,上一篇文章所介紹的 24C02 (256個字節(jié)EEPROM)就不夠了。此時我們會用到另外一種類型的存儲器,即 Flash。比如具有 SPI 接口的 W25Q128。這顆小芯片雖然也只有簡單的 8 個引腳,但存儲容量卻達到了128M-bit,也就是 16M 字節(jié),同時它的讀寫速度可以達到 66MB/S。但是由于 STM32F030 不支持 Quad/Dual SPI,只能以標準 SPI 方式讀寫,所以速度會低一些。以下是 W25Q128 的主要特點:

a.133MHz SPI Clock。

b.10萬次擦寫壽命,20年數(shù)據(jù)保持時間。

c.每顆具有64-Bit唯一序列號 Unique ID。

d.每次可以寫入 1 到 256 字節(jié)數(shù)據(jù)。

e.寫之前需要對目的地址所在扇區(qū)進行擦除操作。

pYYBAGL6_g2AcRcFAAAquLX2F9A809.png

( Winbond W25Q128 datasheet )

我們通過以下連線使 W25Q128 連至 STM32F030 的 SPI1:

W25Q128 STM32F030

Pin 1 /CS PA4 也可以用其它 GPIO 引腳

Pin 2 DO PA6 SPI1_MISO

Pin 3 /WP ( VCC )

Pin 4 GND ( GND )

Pin 5 DI PA7 SPI1_MOSI

Pin 6 CLK PA5 SPI1_SCK

Pin 7 /HOLD or /RESET ( VCC )

Pin 8 VCC ( VCC )

2.代碼

代碼的開發(fā)如果想提高效率,一個方法就是充分利用前人的成果,而不是自己一再的去造輪子。

GNU General Public License v3.0我們把它集成進SPI例程里,完成 W25Q128 的讀寫功能。Step 1,下載后把解壓的文件夾 w25qxx-master 放在 STM32Cube_FW_F0_V1.11.0\Drivers\BSP\Components

poYBAGL6_ieAO6U_AAByM4isWts892.png

Step 2, 我們用 Keil 打開下面這個工程:STM32Cube_FW_F0_V1.11.0\Projects\STM32F030R8-Nucleo\Examples\SPI\SPI_FullDuplex_ComPolling\MDK-ARM\Project.uvprojx在項目(STM32F030R8-Nucleo)上點鼠標右鍵,選擇Add Group...新建 Group 并改名稱為 Drivers\BSP\Components\w25qxx-master

pYYBAGL6_jeAZHY3AADTWtoIYnE725.png

Step 3, 在 Drivers\BSP\Components\w25qxx-master上點右鍵,選擇Add Existing Files to Group "Drivers\BSP\Components\w25qxx-master"...,找到 Drivers/BSP/components/w25qxx-master/w25qxx.c 點擊Add,然后可以看到w25qxx.c已經(jīng)添加進項目中:

pYYBAGL6_keAb6INAAB_mhBDD84395.png

Step 4, 在 Options for Target 里添加路徑,這里使用的是工程所在路徑的相對路徑,也可以使用絕對路徑,但如果工程拷貝到別的地方的時候,此包含路徑就需要跟隨更改。Add include path ../../../../../../Drivers/BSP/components/w25qxx-master

poYBAGL6_leADqIVAAFFyC8370M808.png

Step 5, 驅(qū)動頭文件 w25qxx.h 中原來包含的的 spi.h, 因為我們使用的 Cube 庫,頭文件需要做如下替換://#include "spi.h"#include "stm32f0xx_hal.h"Step 6, main.h 里根據(jù)實際情況配置引腳,把驅(qū)動頭文件 #include "w25qxx.h" 包含進來。片選信號 CS 可以由任意一個 GPIO 控制,在函數(shù)HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)里把CS引腳配置為GPIO輸出就行了,實際的拉低拉高是驅(qū)動代碼實現(xiàn)的。

pYYBAGL6_nWAfKJQAAELkLXHCu0036.png

poYBAGL6_nuATqzeAAFLO6ma58Q559.png

Step 7, 在 main.c 里定義了 SpiHandle 并指向 SPI1, 我們在 w25qxx.c里也要用到這個 Handle,所以通過 extern 來引用一下。

poYBAGL6_oyAVdmIAADxMrpaxjo604.png

Step 8, 初始化 SPI1,然后調(diào)用 w25qxx 驅(qū)動的初始化代碼 W25qxx_Init( ); 然后就可以用擦除,讀寫等函數(shù)了。

pYYBAGL6_qCAPcfvAAFuW24sgJA429.png

在代碼的修改過程中,我們可以再次體會 Cube 庫的這種分層結(jié)構(gòu)帶來的好處,特別是如何與第三方驅(qū)動代碼融合。各個模塊就像積木一樣,我們只需要把它們搭建起來就可以快速的實現(xiàn)我們想要的功能。下面是讀出數(shù)據(jù)時實際抓取的波形:

pYYBAGL6_q-AUkwfAACANbss55c731.png



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6037

    文章

    44563

    瀏覽量

    635831
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1021

    瀏覽量

    81654
  • SPI接口
    +關(guān)注

    關(guān)注

    0

    文章

    258

    瀏覽量

    34390
  • STM32F0
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    17106
收藏 人收藏

    評論

    相關(guān)推薦

    編程SPI FLASH W28Q128

    嗨,我正在設(shè)計一塊帶有Spartan 6的電路板,我想使用連接在Spartan SPI總線上的W25Q128 SPI閃存(Windbond),并通過Spartan對SPI進行編程。我的
    發(fā)表于 01-21 07:53

    SPI讀寫W25Q128

    STM32庫里面基本都有,調(diào)用就好。但是下面還有一些不懂得地方,應(yīng)該是關(guān)于W25Q128的。這個u8類型數(shù)據(jù)右移16位不是等于0嗎,就變成了傳輸24位地址??往W25Q128里面讀的時候就一定時0XFF,還是隨便嗎???
    發(fā)表于 04-23 11:00

    W25Q128芯片簡介

    1、W25Q128 是華邦公司推出的一款 SPI 接口的 NOR Flash 芯片,其存儲空間為 128Mbit,相當于 16M 字節(jié)。 W25Q128 可以支持
    發(fā)表于 08-13 08:49

    W25Q128V芯片的特點有哪些

    W25Q128V芯片是串行閃存,可以通過標準/兩線/四線SPI控制,W25Q128fv管腳如上,作為標準
    發(fā)表于 12-09 07:10

    如何利用SPI串行外設(shè)接口讀取W25Q128的數(shù)據(jù)

    SPI是什么?SPI有哪幾種模式?如何利用SPI串行外設(shè)接口讀取
    發(fā)表于 12-16 07:09

    W25Q128與NRF***是怎樣通過SPI進行連接的

    SPI是什么?SPI的工作原理是什么?W25Q128與NRF***是怎樣通過SPI進行連接的?
    發(fā)表于 12-20 06:54

    基于STM32F407利用HAL庫使用SPIW25Q128進行讀寫實驗

    基于STM32F407利用HAL庫使用SPIW25Q128進行讀寫實驗。
    發(fā)表于 02-17 06:31

    華芯微特SWM260讀寫W25Q128的方法

    W25Q128讀寫采用的是SPI接口;本人移植的程序是在STM32上驗證過的,只需要修改相應(yīng)的底層函數(shù)即可;初始化SPI接口;void MX_SP
    發(fā)表于 02-28 12:24

    基于RT-Thread的W25Q128虛擬U盤和文件系統(tǒng)如何實現(xiàn)自由切換

    文件系統(tǒng)RT-Thread:W25Q128虛擬U盤并搭載文件系統(tǒng)RT-Thread:STM32F407虛擬U盤,無法識別拔出問題解決方案1、W25Q128分區(qū)使用fal組件給spi flash 分區(qū)(如何分區(qū)見fal
    發(fā)表于 08-04 10:57

    一文解析SPI外設(shè)驅(qū)動W25Q128

    1、NuMaker-M2354試用之SPI 驅(qū)動W25Q128功能模塊的硬件介紹開發(fā)版本身沒有spi外設(shè),沒辦法需要焊接或者連接spi外設(shè)。經(jīng)過芯片文檔查詢M2354由四組
    發(fā)表于 08-19 14:51

    W25Q128 閃存芯片SPI詳解

    W25Q128V芯片是串行閃存,可以通過標準/兩線/四線SPI控制,W25Q128fv管腳如上,作為標準
    發(fā)表于 11-26 17:36 ?264次下載
    <b class='flag-5'>W25Q128</b> 閃存芯片<b class='flag-5'>SPI</b>詳解

    stm32 cubemx usb spi flash w25q128 u盤調(diào)試筆記

    基本代碼確定使用需求 USB SPIusb以下配置保持默認配置即可,切記不要胡亂修改參數(shù)。spi調(diào)試spi flash我使用的flash 是w25q128 spi 通信模式,所以直接找
    發(fā)表于 12-14 18:52 ?33次下載
    stm32 cubemx usb <b class='flag-5'>spi</b> flash <b class='flag-5'>w25q128</b> u盤調(diào)試筆記

    【C應(yīng)用】基于HAL庫的SPI讀FLASH

    基于STM32F407利用HAL庫使用SPIW25Q128進行讀寫實驗。
    發(fā)表于 12-22 19:22 ?7次下載
    【C應(yīng)用】基于HAL庫的<b class='flag-5'>SPI</b>讀FLASH

    STM32CUBEMX(13)--SPIW25Q128外部Flash移植

    省空間,提供方便,正是出于這種簡單易用的特性,越來越多的芯片集成了這種通信協(xié)議,比如 EEPROM,F(xiàn)LASH,實時時鐘,AD轉(zhuǎn)換器。 W25Q128 是一款SPI接口的Flash芯片,其存儲空間為
    的頭像 發(fā)表于 11-14 16:54 ?3533次閱讀
    STM32CUBEMX(13)--<b class='flag-5'>SPI</b>,<b class='flag-5'>W25Q128</b>外部Flash移植

    瑞薩e2studio----串口獲取數(shù)據(jù)通過SPI存儲于W25Q128外部flash

    本篇文章主要介紹如何使用e2studio對瑞薩進行spi配置,同時移植stm32上的W25Q128到瑞薩上,同時通過對該FLASH進行讀寫操作,驗證是否正確。
    的頭像 發(fā)表于 12-02 17:54 ?2970次閱讀
    瑞薩e2studio----串口獲取數(shù)據(jù)通過<b class='flag-5'>SPI</b>存儲于<b class='flag-5'>W25Q128</b>外部flash
    主站蜘蛛池模板: 色悠悠电影网| 国产久爱青草视频在线观看| 欧美无码专区| 黑人巨大两根一起挤进欧美| sihu国产精品永久免费| 亚洲日本一区二区三区在线不卡| 亲嘴扒胸摸屁股视频免费网站| 黑人猛挺进小莹的体内视频| WWW国产亚洲精品久久久日本| 一边摸一边桶一边脱免费| 玩弄放荡人妻一区二区三区| 欧美国产在线一区| 久久视频这里只精品99热在线| 国产精品系列在线观看| 波多野结衣二区| 99久久e免费热视频百度| 亚洲午夜久久久久久久久电影网| 视频一区国产第一页| 青草国产超碰人人添人人碱| 老师我好爽再深一点老师好涨| 国内精品乱码卡一卡2卡三卡| 公和我做好爽添厨房中文字幕 | 久久天天躁狠狠躁夜夜躁| 国产在线精品亚洲第1页| 国产精品第1页在线观看| 超嫩校花被灌醉在线观看| ccc36色小姐电影| 99久久精品国产一区二区三区| 18禁止看的免费污网站| 一二三四在线高清中文版免费观看电影 | 久久久久亚洲| 九九久久精品国产| 精品久久久亚洲精品中文字幕| 国产在线高清亚洲精品一区 | 日本69色视频在线观看| 欧美午夜不卡在线观看| 欧美黑人经典片免费观看| 欧美乱子YELLOWVIDEO| 欧美精品高潮呻吟AV久久| 欧美多毛的大隂道| 青柠在线观看免费全集|