SD card project part4 wiring and result


實體接線

我使用網路上的micro sd卡擴充模組
stm32f4腳位              micro sd卡擴充模組腳位
PB13               =>       SCK
PB14               =>        MISO
PB15               =>        MOSI
PD8                 =>        CS
















程式執行結果

int main()
{
uint8_t readbuff1[512]; 
uint8_t readbuff2[512];  
const uint16_t read_offset=0;
uint8_t mydata1[11]="Hello world";
uint8_t mydata2[13]="Good by world";
uint8_t res;

Spi2_Init(SPI_BaudRatePrescaler_256);//spi clock frequency = APB1/256
Usart2_Int();
USART_puts(USART2,"starting init sd card \r\n"); 
res=SD_card_startup();
if(res==0){
 SD_data_write(mydata1,1);//chose sector 1 to be write
使mydata1變數輸入至SD卡的sector1內
 SD_data_write(mydata2,2);//chose sector 2 to be write
使mydata2變數輸入至SD卡的sector2內
 SD_data_read(readbuff1,1,0,512);//read sector 1
讀取SD卡中sector1內的變數至readbuff1內
 SD_data_read(readbuff2,2,0,512);//read sector 2
讀取SD卡中sector2內的變數至readbuff2內
 delay_ms(100);

}//end if (disk_initialize() success)
}//end main
如果一切順利的話可以得到這樣的結果,希望大家都能成功
到目前為止因為我們還沒有加入Fill system所以當將sd卡插入電腦後,電腦會要求你需要重新格式化,這事正常的因為電腦還獨不懂我們的檔案,只做到這邊的話雖然已經有存值和讀值的功能了,但是不能用電腦讀值種是不方便,所以再下一部分我會加入Petit FAT File System 他是FAT的精簡版對我而言較容易實現。Petit FAT 參考網站

留言

這個網誌中的熱門文章

freeRTOS Deleting a Task

05 Software Timer Management

Interrupt Management