|
軟件SPI和硬件SPI讀寫SD卡,TF卡測(cè)試程序
SD卡模塊和SD卡
0.png (9.15 MB, 下載次數(shù): 159)
下載附件
2020-4-26 23:21 上傳
軟件SPI讀寫SD卡程序
測(cè)試平臺(tái):STC89C516和STC12C5A60S2
內(nèi)存卡大小:128MB和2GB
晶振:均為12MHz
硬件SPI讀寫SD卡程序
測(cè)試平臺(tái):STC12C5A60S2
內(nèi)存卡大小:128MB和2GB
晶振:12MHz
(89C52沒有硬件SPI)
為了盡可能的不給后來者留坑,這些代碼我在發(fā)出來之前反復(fù)測(cè)試過,確保無誤,
還有就是關(guān)于SD卡程序的讀寫我在程序中寫的很清楚,這里不再贅述
單片機(jī)源程序如下:
- #include "public.h"
- #include "SD.h"
- //測(cè)試平臺(tái):STC89C516和STC12C5A60S2
- //內(nèi)存卡大小:128MB和2GB
- //晶振:均為12MHz
- void main()
- {
- unsigned int i;
- SD_init();//SD卡初始化
-
- for(i=0;i<512;++i) BUFFER_DATA[i]=0x7F;
- MCU_write_SD_512Byte(960,512);//MCU向SD卡寫入數(shù)據(jù),一次最多512字節(jié)(扇區(qū),數(shù)據(jù)長(zhǎng)度(最大為512,建議填512))
-
- MCU_read_SD_512Byte(960,512);//MCU向SD卡讀取數(shù)據(jù),一次最多512字節(jié)(扇區(qū),數(shù)據(jù)長(zhǎng)度(最大為512,建議填512))
- P0=BUFFER_DATA[0];
-
- while(1);
- }
- /*
- unsigned int i;
-
- SD_init();//SD卡初始化
-
- {
- 在使用SD卡模塊前,先初始化SD卡
- }
-
- for(i=0;i<512;++i) BUFFER_DATA[i]=0x7F;
- MCU_write_SD_512Byte(960,512);//MCU向SD卡寫入數(shù)據(jù),一次最多512字節(jié)(扇區(qū),數(shù)據(jù)長(zhǎng)度(最大為512,建議填512))
-
- {
- 將數(shù)據(jù)寫入到SD卡:
- 先將數(shù)據(jù)寫入到數(shù)據(jù)緩沖數(shù)組BUFFER_DATA中(這里的數(shù)據(jù)我全部都寫0x7F),
- 然后運(yùn)行MCU_write_SD_512Byte(960,512);
- 960為SD卡的扇區(qū),表示將數(shù)據(jù)寫入到SD卡的960扇區(qū),512為一次性寫入的數(shù)據(jù)大小,為512字節(jié),建議填512字節(jié),
- 因?yàn)?個(gè)扇區(qū)的大小為512字節(jié)
- }
-
- MCU_read_SD_512Byte(960,512);//MCU向SD卡讀取數(shù)據(jù),一次最多512字節(jié)(扇區(qū),數(shù)據(jù)長(zhǎng)度(最大為512,建議填512))
- P0=BUFFER_DATA[0];
-
- {
- 從SD卡讀取數(shù)據(jù):
- 先運(yùn)行MCU_read_SD_512Byte(960,512);
- 這里的960為你要讀的SD扇區(qū),512位一次性讀取的數(shù)據(jù)大小,為512字節(jié),建議填512字節(jié),因?yàn)?個(gè)扇區(qū)的大小為512字節(jié)
- 完成后數(shù)據(jù)存放在數(shù)據(jù)緩沖數(shù)組BUFFER_DATA中
-
- 因?yàn)闆]有現(xiàn)象的話不好判斷SD卡讀寫是否成功,所以把P0BUFFER_DATA[0]賦給P0,P0接LED燈,就可以看見現(xiàn)象了
- }
- {
- 注意:將程序下載到開發(fā)板后可能會(huì)出現(xiàn)P0口顯示的數(shù)據(jù)和SD卡寫入數(shù)據(jù)不一致的情況
- 這時(shí),
- 要將開發(fā)板和SD卡模塊斷電
- 要將開發(fā)板和SD卡模塊斷電
- 要將開發(fā)板和SD卡模塊斷電
- 不是復(fù)位
- 不是復(fù)位
- 不是復(fù)位
- 將開發(fā)板斷電后再上電,就可以看見現(xiàn)象了
- 如果還不成功,
- 檢查連線是否正確
- 檢查連線是否正確
- 檢查連線是否正確
- 或嘗試插拔SD卡
-
- SD卡讀寫成功后,可以修改扇區(qū)和SD的寫入數(shù)據(jù)多實(shí)驗(yàn)幾次,確保萬無一失
- }
- */
復(fù)制代碼
所有資料51hei提供下載:
單片機(jī)讀寫SD卡.rar
(78.27 KB, 下載次數(shù): 464)
2020-4-26 23:23 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
沒有積分的可從這里下載
鏈接:游客,本帖隱藏的內(nèi)容需要積分高于 1 才可瀏覽,您當(dāng)前積分為 0
|
評(píng)分
-
查看全部評(píng)分
|