我在stm32中为SD卡使用了一个简单的代码。
代码是在"int (Void)“部分编写的。我正在尝试配置SD卡,以便当STM32F750vbt6打开时,在SD卡中创建一个文件,并在文件中写入一个文本。
当我打开STM32F750vbt6时,这不会发生,在SD卡中什么也不会写,但是当代码到达“when”部分时(我已经在when部分中编写了一个LED闪烁代码),并且我使用STM32F750vbt6的RST引脚重新设置了微控制器,设备正常工作,sd卡中写了一个文本。
我怎么才能解决这个问题?为什么需要重新设置设备才能使代码工作?
这是我的密码:
const char wtext[] = "hi world";
int main(void)
{
FRESULT res; /* FatFs function common result code */
uint32_t byteswritten, bytesread; /* File write/read counts */
MPU_Config();
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_SDMMC1_SD_Init();
MX_FATFS_Init();
if(retSD == 0)
{
if(f_mount(&SDFatFs, (TCHAR const*)SDPath, 0) == FR_OK)
{
if(f_open(&MyFile, "file.txt", FA_CREATE_ALWAYS | FA_WRITE) ==FR_OK)
{
f_write(&MyFile, wtext, sizeof(wtext), (void*)&byteswritten);
f_close(&MyFile);
}
}
}
FATFS_UnLinkDriver(SDPath);
while (1)
{
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
HAL_Delay(2000);
HAL_GPIO_WritePin(LED1_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);
HAL_Delay(2000);
}
}发布于 2022-11-01 05:26:21
问题是这个设备在端口上不能工作。数据端口和CMD端口必须以拔起方式连接。
https://stackoverflow.com/questions/72786065
复制相似问题