PIC單片機(jī)與串行閃存的SPI接口設(shè)計(jì)
其中,delay()為延時(shí)子函數(shù),參數(shù)為ms級(jí),delay(1)即延時(shí)1ms。加入延時(shí),是為了保證存儲(chǔ)器在準(zhǔn)備好的情況下才進(jìn)行讀寫(xiě)操作。
(3)連續(xù)讀函數(shù)
M25P16允許發(fā)出讀指令后,連續(xù)讀取數(shù)據(jù),這一模式極大提高了總線(xiàn)效率。數(shù)據(jù)讀取函數(shù)的參數(shù)包括address:32位地址;block:讀數(shù)據(jù)緩沖區(qū)指針;n:一次連續(xù)讀取的字節(jié)數(shù),代碼如下:
M25P16的連續(xù)讀操作與連續(xù)寫(xiě)不同的是,無(wú)論READ還是FAST_READ,在起始地址處1字節(jié)的數(shù)據(jù)讀出后,會(huì)自動(dòng)尋址更高地址處的數(shù)據(jù),故程序中無(wú)需address++語(yǔ)句。
除了對(duì)M25P16的初始化、讀寫(xiě)之外,經(jīng)常還要對(duì)其進(jìn)行擦除操作,擦除有扇區(qū)擦除和整體擦除2種方式,執(zhí)行數(shù)據(jù)擦除將使內(nèi)部所有數(shù)據(jù)變?yōu)镕FH。擦除操作與寫(xiě)操作類(lèi)似,在此不再贅述。
結(jié) 語(yǔ)
本文介紹的M25P16與PIC16F877A的接口已應(yīng)用于自來(lái)水流量數(shù)據(jù)采集的本地存儲(chǔ)中。運(yùn)行穩(wěn)定可靠,未發(fā)現(xiàn)數(shù)據(jù)丟失現(xiàn)象,對(duì)其他應(yīng)用有一定的參考價(jià)值。
評(píng)論