標題: MM32 eMiniBoard開發(fā)板的 W25D16讀寫與應用 [打印本頁]

作者: jinglixixi    時間: 2020-7-5 08:05
標題: MM32 eMiniBoard開發(fā)板的 W25D16讀寫與應用
本帖最后由 jinglixixi 于 2020-7-5 08:07 編輯

在官網(wǎng)的例程中,提供了W25D16讀寫的程序,掌握它的使用可用于中文字庫的構建。
在功能測試時發(fā)現(xiàn)其輸出內容如圖1所示,并未能完成正確的讀寫操作。

1 測試輸出內容

后經(jīng)原理圖的觀察才發(fā)現(xiàn),W25D16的片選端是接到SW2上,出廠時是置于斷開狀態(tài),故影響正常讀寫。

2  W25D16讀寫原理圖

SW2置到連接狀態(tài)后,即可見到正確的讀寫效果,如圖3和圖4所示。

3 讀寫效果

4 讀寫效果

2. 中文字庫的構建
對于普通的顯示屏顯然是不提供中文字庫的,因此要顯示中文就必須自行構建一個小字庫來解決問題。
由于開發(fā)板上配置了W25D16,就可以用它來存放中文字庫。
在中文字庫的提取方面,可以用3310液晶顯示屏漢字提取程序來實現(xiàn),如圖5所示。

5 漢字提取

在字模數(shù)據(jù)量較少時,可使用內存來存放字模,進而轉儲到W25D16。而對于字模數(shù)據(jù)量較大的情況,則需要分批次來轉存或采用通訊傳輸文件的方式來轉儲。
以內存轉儲為例,其方法是:
1)將字模存入數(shù)值
unsigned char tmp1[256]={
0x00,0x00,0xE0,0x9C,0x84,0x84,0x84,0xF4,0x82,0x82,0x83,0x82,0x80,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x06,0x40,0x80,0x7F,0x00,0x00,0x02,0x04,0x08,0x30,0x00,0x00,
... ...
0x10,0x10,0x90,0x90,0x90,0x90,0x90,0x10,0x10,0xFF,0x10,0x10,0x11,0x16,0x10,0x00,0x00,0x20,0x60,0x20,0x3F,0x10,0x10,0x10,0x00,0x03,0x0C,0x10,0x20,0x40,0xF8,0x00,
};
2)使用SPIM_PageProgram(0,tmp1,256)語句執(zhí)行轉儲
3)使用SPIM_PageRead(0,rxtmpdata,256) 語句讀取,并通過如下語句進行驗證,其效果如圖6所示。
for(i=0;i<256;i++)
{
       printf("rx[%d]=0x%x\r\n",i,rxtmpdata);
}


圖6 驗證效果


4)在OLED 屏上加以驗證,其效果如圖7所示

圖7 顯示效果





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1