SD card project part1 以STM32F407VG 寫入與讀取SD卡資料 main.c
main.c
這篇為我的main.c檔,再一開始的SD卡實做我們先不加入FAT filesystem,純粹實做SD卡藉由SPI的通訊方式做資料儲存,確認好讀寫功能後再加入FAT filesystem。程式部分接會用藍字標示
首先匯入標頭檔我使用stm網站上提供的標準外部裝置library
#include "stm32f4xx.h"
#include "stm32f4xx_rcc.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_spi.h"
#include "stm32f4xx_usart.h"
Initsys.h 和my_diskio.h是我自己編寫的標頭檔
#include "Initsys.h"
#include "my_diskio.h"
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 because my system clock is set to fast so in by case spi2 is in APB1 look the picture below spi clock frequency=42MHz/256
Usart2_Int();
USART_puts(USART2,"starting init sd card \r\n");
res=SD_card_startup();
if(res==0){
SD_data_write(0,2);//chose sector 1 to be write
SD_data_write(0,1);//chose sector 2 to be write
SD_data_read(readbuff1,1,0,512);//read sector 1
SD_data_read(readbuff1,2,0,512);//read sector 2
delay_ms(100);
}//end if (disk_initialize() success)
}//end main

留言
張貼留言