基于SM32的SPI總線(xiàn)擴展EEPROM設計與實(shí)現
4.3 程序設計
本文引用地址:http://dyxdggzs.com/article/248731.htm讀取數據的程序設計架構如下:
SpiaRegs.SPITXBUF=0×0300;//發(fā)送讀取指令SpiaRegs.SPITXBUF=(Addr《8);//發(fā)送需要讀取數據的地址位SpiaRegs.SPITXBUF=0×0000;//發(fā)送一位空指令val=SpiaRegs.SPIRXBUF;//讀取指定地址的數據讀取數據的程序設計架構如下:
SpiaRegs.SPITXBUF=0×0200;//發(fā)送寫(xiě)入指令SpiaRegs.SPITXBUF=(Addr《8);//發(fā)送需要寫(xiě)入數據的地址位SpiaRegs.SPITXBUF=(Data《8);//發(fā)送需要寫(xiě)入數據的數據SpiaRegs.SPITXBUF=0×0400;//WRDI5.數據寫(xiě)入和讀取實(shí)驗。
如圖2 .

編寫(xiě)軟件代碼,進(jìn)行DSP對AT25010寫(xiě)入和讀取數據的實(shí)驗.
由于A(yíng)T25010是1KB的存儲器,DSP最多只能向AT25010寫(xiě)入128個(gè)8位數據.在軟件中設置一個(gè)9位的數組,分別賦值由0×11至0×99,地址使用0-8共9個(gè)地址位.DSP采用循環(huán)發(fā)送的方式,將數組中的數據發(fā)送到存儲芯片中.
然后DSP進(jìn)行讀取操作,從存儲芯片的地址位中讀出數據,寫(xiě)入到另一個(gè)數組中并對讀取和寫(xiě)入的數據進(jìn)行比較,檢驗數據是否正確.結果如圖3所示.

由圖3可以看出,讀取和寫(xiě)入的數據完全一致.對于使用數據量較大的系統,可以更換容量更大的存儲器,使用文中的硬件設計和程序設計,同樣可滿(mǎn)足需求.
6.結語(yǔ)
本設計使用DSP芯片自帶的SPI接口進(jìn)行硬件設計,節省了設計時(shí)間,降低了電路設計的復雜度,實(shí)現了對系統掉電以后數據的存儲,并可解決由于數據不同造成的程序一致性的問(wèn)題.此設計滿(mǎn)足了系統的要求,適用于各種需要掉電后保存數據的嵌入式系統.
存儲器相關(guān)文章:存儲器原理
評論