QSPI FLASH與SD卡同時支持fatfs文件系統(tǒng)
上一篇我們已經在QSPI FLASH上支持了fatfs文件系統(tǒng):這次我們繼續(xù)在該代碼上支持SD卡文件系統(tǒng),ST官方在維護CubeMX上對多個硬件驅動的fatfs兼容性做得非常好,所以還是用STM32CubeMX來配置就可以了:
小熊派上硬件SD卡接口:
1、SD卡配置
STM32Cube-19 | 使用SDMMC接口讀寫SD卡數(shù)據(jù)
2、SD卡fatfs配置
STM32Cube-20(補充) | 在SD卡上移植FATFS文件系統(tǒng)
由于上一節(jié)我們已經配置了fatfs的參數(shù),再加上STM32CubeMX已經對SD卡做了支持,所以我們將這個選項勾上就可以了,其余默認即可,然后直接生成代碼工程。
3、編寫同時測試QSPI FLASH以及SD卡fatfs的程序
很幸運的是,官方已經幫我們把代碼都寫好了,不需要寫一行,直接進入應用編程即可。
由于代碼過長,這里不便全部展示,感興趣的去我的碼云上clone工程下載測試。
/**
* @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 */
}
運行結果:
獲取完整demo:
碼云倉庫:https://gitee.com/morixinguan/bear-pi/tree/master/20.QSPI_SD_Card_Sync_Mount_Fatfs
獲取方法:
git clone https://gitee.com/morixinguan/bear-pi.git
即可獲取本次實驗工程全部代碼。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!