我已经为STM32F407VGTx编写了一些简单的代码(在STM32CubeMx的帮助下),以便在SDcard中创建一个文件。虽然它与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 */
}
答案 0 :(得分:0)
问题可能是堆大小f407的初始堆大小比f401多。尝试增加链接器文件中的堆大小。