我为STM32F407VGTx编写了一些简单的代码(在STM32CubeMx的帮助下)在SD卡中创建文件。虽然它与 407 完美配合,但无法与 STM32F401ReTx 配合使用。需要明确的是,我已经使用 CubeMx 专门为 401 生成了代码(没有使用 407 的代码)。
即使对于 407,我也只能使用 CubeMx 版本 21 和固件版本 16。我添加了下面的代码。有什么想法吗?
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_DMA_Init();
MX_SDIO_SD_Init();
MX_FATFS_Init();
/* USER CODE BEGIN 2 */
if(f_mount(&myFatFS,SD_Path,1)==FR_OK)
{
HAL_Delay(1000);
f_open(&myFil,"new document.txt\0",FA_CREATE_ALWAYS | FA_WRITE);
f_close(&myFil);
}
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
最佳答案
问题可能是堆大小 f407 的初始堆大小比 f401 更大。尝试增加链接器文件中的堆大小。
关于c - F_mount 函数不适用于 STM32F401ReTx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50716394/