QSPI FLASH與SD卡同時(shí)支持fatfs文件系統(tǒng)
上一篇我們已經(jīng)在QSPI FLASH上支持了fatfs文件系統(tǒng):這次我們繼續(xù)在該代碼上支持SD卡文件系統(tǒng),ST官方在維護(hù)CubeMX上對(duì)多個(gè)硬件驅(qū)動(dòng)的fatfs兼容性做得非常好,所以還是用STM32CubeMX來(lái)配置就可以了:
小熊派上硬件SD卡接口:
1、SD卡配置
STM32Cube-19 | 使用SDMMC接口讀寫SD卡數(shù)據(jù)
2、SD卡fatfs配置
STM32Cube-20(補(bǔ)充) | 在SD卡上移植FATFS文件系統(tǒng)
由于上一節(jié)我們已經(jīng)配置了fatfs的參數(shù),再加上STM32CubeMX已經(jīng)對(duì)SD卡做了支持,所以我們將這個(gè)選項(xiàng)勾上就可以了,其余默認(rèn)即可,然后直接生成代碼工程。
3、編寫同時(shí)測(cè)試QSPI FLASH以及SD卡fatfs的程序
很幸運(yùn)的是,官方已經(jīng)幫我們把代碼都寫好了,不需要寫一行,直接進(jìn)入應(yīng)用編程即可。
由于代碼過(guò)長(zhǎng),這里不便全部展示,感興趣的去我的碼云上clone工程下載測(cè)試。
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_I2C1_Init();
MX_USART1_UART_Init();
MX_QUADSPI_Init();
MX_FATFS_Init();
MX_SDMMC1_SD_Init();
/* USER CODE BEGIN 2 */
Mount_SD_Fatfs();
Mount_QSPI_FLASH_Fatfs();
test_get_qspi_cap();
test_get_sd_card_cap();
test_sd_card_fatfs();
test_spi_flash_fatfs();
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */ while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
運(yùn)行結(jié)果:
獲取完整demo:
碼云倉(cāng)庫(kù):https://gitee.com/morixinguan/bear-pi/tree/master/20.QSPI_SD_Card_Sync_Mount_Fatfs
獲取方法:
git clone https://gitee.com/morixinguan/bear-pi.git
即可獲取本次實(shí)驗(yàn)工程全部代碼。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!