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

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

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

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

基于MM32F0140的SPI與W25Q80通信

靈動(dòng)MM32MCU ? 來源:靈動(dòng)MM32MCU ? 2023-09-21 17:26 ? 次閱讀

前提

查看MM32F0140的MiniBoard原理圖,SPI掛載了W25Q80。

45ab9e50-585f-11ee-939d-92fbcf53809c.png

一、SPI介紹

串行外設(shè)接口,Serial Peripheral Interface。一種高速的、全雙工、同步的串行通信總線。主要應(yīng)用于EEPROM、FLASH、AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。

SPI 支持同時(shí)發(fā)送和接收數(shù)據(jù),采用主從工作方式。SPI 通過 4 個(gè)引腳與外部器件相連,分別是:

MOSI:主設(shè)備輸出、從設(shè)備輸入引腳。傳輸方向?yàn)橹髟O(shè)備發(fā)送到從設(shè)備。

MISO:主設(shè)備輸入、從設(shè)備輸出引腳。傳輸方向?yàn)閺脑O(shè)備發(fā)送到主設(shè)備。

SCK:串行時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生并提供給從設(shè)備。

NSS:片選信號(hào),從設(shè)備選擇。

下圖示意主、從設(shè)備之間一對(duì)一通信時(shí)的連接情況:

45bdcf08-585f-11ee-939d-92fbcf53809c.png

主設(shè)備負(fù)責(zé)發(fā)起通信請(qǐng)求,從設(shè)備負(fù)責(zé)響應(yīng),從設(shè)備通過 SCK 引腳得到主設(shè)備提供的時(shí)鐘信號(hào),從而使得主、從設(shè)備均使用同一個(gè)時(shí)鐘進(jìn)行同步的全雙工通信。對(duì)于從設(shè)備而言,MOSI 引腳輸入來自主設(shè)備的發(fā)送數(shù)據(jù),MISO 引腳輸出響應(yīng)數(shù)據(jù)傳給主設(shè)備。

SPI 需要根據(jù)從機(jī)特性,選配時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA),比如從機(jī)時(shí)鐘空閑時(shí)為低電平,且在時(shí)鐘信號(hào)的第一個(gè)跳變沿采樣,此時(shí)時(shí)序見下圖:

45d4b2b8-585f-11ee-939d-92fbcf53809c.png

二、W25Q80介紹

W25Q80是一種串行閃存存儲(chǔ)器,主要特點(diǎn)包括:

容量:8 Mbit(1 MB)的存儲(chǔ)容量,可以存儲(chǔ)大量數(shù)據(jù)。

SPI接口:采用SPI接口進(jìn)行數(shù)據(jù)通信,具備高速的數(shù)據(jù)傳輸能力。

快速讀取:支持快速的連續(xù)讀取操作,可提供高效的讀取性能。

塊擦除:支持塊擦除功能,可以批量擦除數(shù)據(jù),提高擦除效率。

低功耗:采用低功耗設(shè)計(jì),適用于對(duì)功耗要求較高的應(yīng)用場(chǎng)景。

W25Q80可以劃分為 4096 個(gè)扇區(qū),每個(gè)扇區(qū)包含 256 個(gè)頁,每個(gè)頁的大小為 256 字節(jié)。

下圖為W25Q80的指令:

45e8d8b0-585f-11ee-939d-92fbcf53809c.png

三、例程

1.介紹

本例程實(shí)現(xiàn)SPI與W25Q80通信,SPI查詢W25Q80的設(shè)備號(hào),并全片擦除后寫入數(shù)據(jù),再讀取出來,看寫入的數(shù)據(jù)與讀取的數(shù)據(jù)是否一致。

2.編碼詳情

1)初始化配置SPI,速度為PCLK1(36MHz)的32分頻,約為1.125MHz;

SPI_InitStructure.SPI_Mode=SPI_Mode_Master;
SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;
SPI_InitStructure.SPI_DataWidth=8;
SPI_InitStructure.SPI_CPOL=SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA=SPI_CPHA_1Edge;
SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_32;
SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;
SPI_Init(SPI2,&SPI_InitStructure);
exSPI_DataEdgeAdjust(SPI2,SPI_DataEdgeAdjust_FAST);
SPI_BiDirectionalLineConfig(SPI2,SPI_Direction_Tx);
SPI_BiDirectionalLineConfig(SPI2,SPI_Direction_Rx);
SPI_Cmd(SPI2,ENABLE);

2)編寫SPI發(fā)送和讀取數(shù)據(jù)的函數(shù)

uint32_twriteAndReadData(uint8_tdata)
{
SPI_SendData(SPI2,data);
while(1){
if(SPI_GetFlagStatus(SPI2,SPI_FLAG_TXEPT)){
break;
}
}
while(1){
if(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXAVL)){
returnSPI_ReceiveData(SPI2);
}
}
}

3)獲取W25Q80的設(shè)備ID

SPI_CSInternalSelected(SPI2,ENABLE);//片選
writeAndReadData(0x9F);//讀ID指令
ID|=writeAndReadData(0x00)<

4)全片擦除W25Q80,并檢查狀態(tài)等待擦除完成

SPI_CSInternalSelected(SPI2,ENABLE);
writeAndReadData(0x06);//寫使能
SPI_CSInternalSelected(SPI2,DISABLE);

SPI_CSInternalSelected(SPI2,ENABLE);
writeAndReadData(0xC7);//全片擦除指令
SPI_CSInternalSelected(SPI2,DISABLE);

SPI_CSInternalSelected(SPI2,ENABLE);
writeAndReadData(0x05);//讀狀態(tài)寄存器
while(1){
temp=writeAndReadData(0x00);
if((temp&0x01)==0x0)//擦除完成
break;
}
SPI_CSInternalSelected(SPI2,DISABLE);
printf("

erasecomplete");

5)寫數(shù)據(jù),并檢查狀態(tài)等待寫完

for(i=0;i

6)讀數(shù)據(jù),并打印出來

SPI_CSInternalSelected(SPI2,ENABLE);
writeAndReadData(0x03);//讀數(shù)據(jù)
writeAndReadData(0x00);//頁地址
writeAndReadData(0x00);
writeAndReadData(0x00);
for(i=0;i

3.串口輸出結(jié)果

下圖為串口輸出數(shù)據(jù),基本符合程序流程和結(jié)果。

469c2834-585f-11ee-939d-92fbcf53809c.png

4.邏輯分析儀

下圖為邏輯分析儀截取的發(fā)送接收?qǐng)D片,可以清楚的看到當(dāng)前SCK速度接近1.125MHz,以及發(fā)送數(shù)據(jù)也符合預(yù)期。

46b155f6-585f-11ee-939d-92fbcf53809c.png







審核編輯:劉清

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

    關(guān)注

    9

    文章

    1143

    瀏覽量

    40718
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1633

    瀏覽量

    147943
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1019

    瀏覽量

    81560
  • AD轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    4

    文章

    250

    瀏覽量

    41410
  • CPHA
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    9380
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于MM32F0140SPIW25Q80通信的實(shí)現(xiàn)方案

    串行外設(shè)接口,Serial Peripheral Interface。一種高速的、全雙工、同步的串行通信總線。主要應(yīng)用于EEPROM、FLASH、AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。
    發(fā)表于 09-29 07:25 ?2221次閱讀
    基于<b class='flag-5'>MM32F0140</b>的<b class='flag-5'>SPI</b>與<b class='flag-5'>W25Q80</b><b class='flag-5'>通信</b>的實(shí)現(xiàn)方案

    華邦存儲(chǔ)器W25Q80, W25Q16, W25Q32系列的spi通訊

    華邦存儲(chǔ)器W25Q80, W25Q16, W25Q32系列與stm32f1系列單片機(jī)的spi通訊2020.4.9
    發(fā)表于 12-22 19:37 ?30次下載
    華邦存儲(chǔ)器<b class='flag-5'>W25Q80</b>, <b class='flag-5'>W25Q</b>16, <b class='flag-5'>W25Q</b>32系列的<b class='flag-5'>spi</b>通訊

    AN0052從MM32F0130移植到MM32F0140(英文版)

    AN0052 從MM32F0130移植到MM32F0140(英文版)
    發(fā)表于 02-22 18:43 ?0次下載
    AN0052從<b class='flag-5'>MM32F</b>0130移植到<b class='flag-5'>MM32F0140</b>(英文版)

    MM32F0140 產(chǎn)品手冊(cè)(中文版)

    MM32F0140 產(chǎn)品手冊(cè)(中文版)
    發(fā)表于 02-22 18:45 ?0次下載
    <b class='flag-5'>MM32F0140</b> 產(chǎn)品手冊(cè)(中文版)

    MM32F0140 產(chǎn)品手冊(cè)(英文版)

    MM32F0140 產(chǎn)品手冊(cè)(英文版)
    發(fā)表于 02-22 18:45 ?0次下載
    <b class='flag-5'>MM32F0140</b> 產(chǎn)品手冊(cè)(英文版)

    MM32F0140 用戶手冊(cè)(中文版)

    MM32F0140 用戶手冊(cè)(中文版)
    發(fā)表于 02-22 18:46 ?0次下載
    <b class='flag-5'>MM32F0140</b> 用戶手冊(cè)(中文版)

    MM32F0140 用戶手冊(cè)(英文版)

    MM32F0140 用戶手冊(cè)(英文版)
    發(fā)表于 02-22 18:46 ?0次下載
    <b class='flag-5'>MM32F0140</b> 用戶手冊(cè)(英文版)

    MM32F0140 勘誤表(中文版)

    MM32F0140 勘誤表(中文版)
    發(fā)表于 02-22 18:47 ?0次下載
    <b class='flag-5'>MM32F0140</b> 勘誤表(中文版)

    MM32F0140 勘誤表(英文版)

    MM32F0140 勘誤表(英文版)
    發(fā)表于 02-22 18:48 ?0次下載
    <b class='flag-5'>MM32F0140</b> 勘誤表(英文版)

    基于MM32F0140的UDS Bootloader學(xué)習(xí)筆記

    基于MM32F0140的UDS Bootloader學(xué)習(xí)筆記
    的頭像 發(fā)表于 10-30 17:11 ?767次閱讀
    基于<b class='flag-5'>MM32F0140</b>的UDS Bootloader學(xué)習(xí)筆記

    MM32F0140學(xué)習(xí)筆記——CRC

    MM32F0140學(xué)習(xí)筆記——CRC
    的頭像 發(fā)表于 11-10 18:27 ?607次閱讀
    <b class='flag-5'>MM32F0140</b>學(xué)習(xí)筆記——CRC

    MM32F0140 SPI學(xué)習(xí)筆記

    MM32F0140 SPI學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-26 16:51 ?592次閱讀
    <b class='flag-5'>MM32F0140</b> <b class='flag-5'>SPI</b>學(xué)習(xí)筆記

    MM32F0140 DMA學(xué)習(xí)筆記

    MM32F0140 DMA 學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-18 16:57 ?703次閱讀
    <b class='flag-5'>MM32F0140</b> DMA學(xué)習(xí)筆記

    MM32F0140 UART學(xué)習(xí)筆記

    MM32F0140 UART學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-26 16:45 ?755次閱讀
    <b class='flag-5'>MM32F0140</b> UART學(xué)習(xí)筆記

    MM32F0140 GPIO學(xué)習(xí)筆記

    MM32F0140 GPIO學(xué)習(xí)筆記
    的頭像 發(fā)表于 09-26 16:42 ?551次閱讀
    <b class='flag-5'>MM32F0140</b> GPIO學(xué)習(xí)筆記
    主站蜘蛛池模板: 亚洲精品国产SUV| 夫妻主vk| 好吊妞国产欧美日韩视频| 欧美日韩亚洲一区二区三区在线观看| 亚洲第一伊人| 不良网站进入窗口软件下载免费| 久久久久久久久a免费| 特级做A爰片毛片免费看108| 99久久99久久久99精品齐| 九九热精品免费观看| 吻嘴胸全身好爽床大全| rio 快播| 蜜桃成熟时2在线| 亚洲综合色在线视频久| 国产露脸无码A区久久蘑菇| 人妻仑乱少妇88MAV| 91系列在线观看免费| 精品久久久久中文字幕| 无码乱人伦一区二区亚洲| 啊灬啊灬啊灬快灬深高潮啦| 媚药调教被撑到合不拢h| 一本到道免费线观看| 国产真实强被迫伦姧女在线观看| 色网址在线观看| 超碰97超碰在线视频哦| 嫩草影院一区| 1区2区3区4区产品不卡码网站| 久 久 亚洲 少 妇 无 码| 亚洲国产日韩欧美在线a乱码 | 日本精油按摩| 97在线看视频福利免费| 老外的好大c的我好爽| 伊人草久久| 挤奶门事件完整照片 | 一边啪啪的一边呻吟声口述| 好男人社区| 亚洲欧美国产综合在线一区| 国内精品久久久久影院老司| 性xxx免费| 国产手机精品一区二区| 偷窥wc美女毛茸茸视频|