然后调试到HAL_Delay()方法的内部发现 HAL_GetTick( )函数一直返回 __weak void HAL_Delay(uint32_t Delay) { uint32_t tickstart = HAL_GetTick(); uint32_t wait = Delay; /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) { wait += (uint32_t)(uwTickFreq); } ...
WRITE_REG(heth->Instance->DMACTDTPR, ((uint32_t)(heth->Init.TxDesc + (uint32_t)(ETH_TX_DESC_CNT -1))); tickstart = HAL_GetTick(); /* Wait for data to be transmitted or timeout occurred */while((dmatxdesc->DESC3 & ETH_DMATXNDESCWBF_OWN) != (uint32_t)RESET){if((heth-...
先掌握原理和设计再看代码会好一点,争取后面再写写细节和代码分析,一步一步来搞定它。
HAL_GetTick函数使用 描述: 用于获取系统运行时间,返回值类型uint32_t,单位毫秒ms。 示例: 根据使用的外设,关闭未使用外设的初始化 /* Initialize all configured peripherals */MX_GPIO_Init();//开启GPIO初始化函数// MX_I2C1_Init();// MX_USART1_UART_Init();// MX_USART2_UART_Init();// MX_USB...