CUBEMX支不支持修改默认文件夹格式
CubeMX加载X-CUBE-AI库以后 再新建工程进不去mcu选择界面
为什么STM32H7的DMA第一次启动延时较长?
CUBEMX设置ADC问题请教。
stm32g474RE 输出4相波形,如何精准输出ADC触发的问题。
STM32CUBEMX无法登录应该如何解决呢
STM32CubeMX2尝鲜
请问我的CubeMX为什么初始界面没有ai选项,进去之后也没有addnetwork?
你最期待工具带来哪些便利?
关于手动移植RTOS的问题,在基于HAL生成的工程上。xPortSysTickHandler()会影响外部晶振的时钟初始化,进入硬件故障处理函数,HSI没问题
微信公众号
手机版
{
/* USER CODE BEGIN SDMMC1_Init 0 */
/* USER CODE END SDMMC1_Init 0 */
/* USER CODE BEGIN SDMMC1_Init 1 */
/* USER CODE END SDMMC1_Init 1 */
hsd1.Instance = SDMMC1;
hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
hsd1.Init.BusWide = SDMMC_BUS_WIDE_4B;
hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
hsd1.Init.ClockDiv = 0;
/* USER CODE BEGIN SDMMC1_Init 2 */
hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B; //初始化时改为1线,否则卡死在BSP_SD_Init中
/* USER CODE END SDMMC1_Init 2 */
}
金士顿32G内存卡运行正常,更换为16G内存卡却总是卡在下面的死循环:while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DBCKEND))
{
if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL))
{
*(tempscr + index) = SDMMC_ReadFIFO(hsd->Instance);
index++;
}
if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT)
{
return HAL_SD_ERROR_TIMEOUT;
}
}
测试主函数:
main(void)
{
/* USER CODE BEGIN 1 */
uint32_t ii;
DWORD frr;
FATFS *FSS;
SD_POWER_ON;
/* 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_SDMMC1_SD_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(BSP_SD_IsDetected() != SD_NOT_PRESENT)
{
HAL_Delay(1000u);
if(BSP_SD_Init() == MSD_OK)
{
retSD = FATFS_LinkDriver(&SD_Driver, SDPath);
if(retSD==0u)
{
retSD = f_mount(&SDFatFS,(TCHAR const *)SDPath,1u);
FSS = &SDFatFS;
retSD = f_getfree((TCHAR const *)SDPath,&frr,&FSS);
ii = frr*(SDFatFS.csize)/2048;
retSD = f_mkdir("TEST0");
retSD = f_mkdir("TEST1");
retSD = f_mkdir("TEST2");
f_mount(NULL,(TCHAR const*)SDPath,1u);
}
OKcnt++;
}
else
{
ERRcnt++;
}
}
}
/* USER CODE END 3 */
}