標(biāo)題: 基于CH32V103開發(fā)板的W25Q16讀寫驗(yàn)證 [打印本頁(yè)]
作者: jinglixixi 時(shí)間: 2020-11-21 00:46
標(biāo)題: 基于CH32V103開發(fā)板的W25Q16讀寫驗(yàn)證
本帖最后由 jinglixixi 于 2020-11-21 08:23 編輯
在CH32V103開發(fā)板上配置了W25Q16存儲(chǔ)器,其接口電路如圖1所示。
1.jpg (14.12 KB, 下載次數(shù): 52)
下載附件
2020-11-21 00:45 上傳
圖1 接口電路
此外,官方還提供了測(cè)試?yán)獭F鋵?shí),從程序看它是一個(gè)W25QXX系列的廣譜測(cè)試程序,所支持的芯片有:
W25Q80、 W25Q16、 W25Q32、W25Q64及W25Q128,除了容量不同外,也就剩下名稱不同了。
由于是例程,大家都能得的到,程序就不在這里提供了。
其實(shí)際的測(cè)試過程主要有下列語句實(shí)現(xiàn):
printf("Start Write W25Qxx....\r\n");
SPI_Flash_Write((u8*)TEXT_Buf,0,SIZE);
printf("W25QxxWrite Finished!\r\n");
Delay_Ms(500);
printf("Start ReadW25Qxx....\r\n");
SPI_Flash_Read(datap,0x0,SIZE);
printf("%s\r\n", datap );
Delay_Ms(500);
printf("Start Erase W25Qxx....\r\n");
SPI_Flash_Erase_Sector(0);
printf("W25Qxx EraseFinished!\r\n");
Delay_Ms(500);
printf("Start ReadW25Qxx....\r\n");
SPI_Flash_Read(datap,0x0,SIZE);
printf("%s\r\n", datap );
也就是說,它是按照這樣的流程來處理的,即:
寫入-->讀取--->顯示-->刪除-->讀取
在對(duì)程序編譯后,給出的提示為:
2.jpg (36.27 KB, 下載次數(shù): 64)
下載附件
2020-11-21 00:45 上傳
天哪,23個(gè)錯(cuò)誤!
仔細(xì)一看,錯(cuò)誤只是一種,原始而又低級(jí),竟像使用單片機(jī)一樣直接通過賦值0和1來輸出高低電平!
以函數(shù)SPI_Flash_ReadID()為例,其原內(nèi)容為:
3.jpg (21.73 KB, 下載次數(shù): 51)
下載附件
2020-11-21 00:45 上傳
修改后,其內(nèi)容則為:
4.jpg (26.34 KB, 下載次數(shù): 53)
下載附件
2020-11-21 00:45 上傳
經(jīng)再次編譯,其結(jié)果為:
在完成程序下載后,其運(yùn)行結(jié)果如圖2所示。
5.jpg (34.95 KB, 下載次數(shù): 50)
下載附件
2020-11-21 00:45 上傳
圖2 運(yùn)行結(jié)果
完了,沒戲呀!讀寫失敗。
看過一遍原理圖之后,才發(fā)現(xiàn)原來片選信號(hào)竟被截流了,起連接作用的電阻R11原來沒有焊。
找到問題就好辦了,較R11的位置直接短接即可。
再進(jìn)行測(cè)試,一切OK,其運(yùn)行效果見圖3所示。
6.jpg (39.64 KB, 下載次數(shù): 60)
下載附件
2020-11-21 00:45 上傳
圖3 正確結(jié)果
有了W25Q16存儲(chǔ)器,后面再遇到存儲(chǔ)容量緊張的問題就好辦了,直接扔給W25Q16即可。
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |