ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
936951 Топик полностью
Ксения (30.07.2019 00:35, просмотров: 286) ответил Aleksey_75 на "калиброванные временные задержки с помощью цикла холостых команд" - DWT вам в помощь, а систик оставьте под HAL если так хочется.
В файле stm32f4xx_ll_usb.c функция HAL_Delay() вызывается 6 раз. Например: HAL_StatusTypeDef USB_HostInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) { ... /* Enable VBUS driving */ (void)USB_DriveVbus(USBx, 1U); HAL_Delay(200U); /* Disable all interrupts. */ USBx->GINTMSK = 0U; ... } HAL_StatusTypeDef USB_ResetPort(USB_OTG_GlobalTypeDef *USBx) { ... USBx_HPRT0 = (USB_OTG_HPRT_PRST | hprt0); HAL_Delay(100U); /* See Note #1 */ USBx_HPRT0 = ((~USB_OTG_HPRT_PRST) & hprt0); HAL_Delay(10U); return HAL_OK; } А в других файлах используется еще чаще. Если ускорить системный таймер в 10 раз, то все эти задержки окажутся недостаточными. Именно поэтому его нельзя курочить.