- 
	
- 1. В RM на контроллер написано 1кГц! Вряд ли   STшники сами придумали - все идет от ARM. 2. Если я не использую HAL, а использую LL без USB? Масса надуманных немотивированнах зависимостей.  VLLV(144 знак., 29.07.2019 21:43)
			
- Архитектура ARM здесь виновата только тем, что там (в отличите от AVR) нельзя делать калиброванные временные задержки с помощью цикла холостых команд, а всегда приходится использовать для этой цели таймер. Особенно это актуально при поддержке  Ксения(411 знак., 29.07.2019 22:20)
					
- Кто тот гуру, который сказал, что 1 мс в самый раз? Ну мне 100 мкс в самый раз :) - VLLV(29.07.2019 22:31)
							
- Ну так запрограммируйте Systick на 100мкс, не пойму в чем проблема-то? - LightElf(29.07.2019 23:11)
 
 - да кто вам такое сказал ? используйте счетчик тактов DWT будет щастье! Вот SciFi пример вам дал ) - Aleksey_75(29.07.2019 22:24, ссылка)
							
- Проблема в том, что HAL из CubeMX использует системный таймер, а не DWT. Для своих целей DWT использовать можно, однако это решение эквивалентно тому, чтобы системный таймер не трогать, а пользоваться своим таймером (DWT или обычным - не  Ксения(324 знак., 30.07.2019 00:00)
									
- "калиброванные временные задержки с помощью цикла холостых команд" - DWT вам в помощь, а систик оставьте под HAL если так хочется.   Aleksey_75(148 знак., 30.07.2019 00:14 - 00:19)
											
- В файле stm32f4xx_ll_usb.c функция HAL_Delay() вызывается 6 раз. Например:  Ксения(696 знак., 30.07.2019 00:35)
													
- да сейчас глянул stm32l4xx_hal.c там галимый индусокод заточенный на 1ms, функцию HAL_Delay() поправить чтоб правильно считала в зависимости от настроек систика.  Aleksey_75(96 знак., 30.07.2019 00:49)
															
- Кстати , HAL_Delay() объявлена как __weak , так что пишите свою HAL_Delay() и никакие либы править не придется - Aleksey_75(30.07.2019 00:54)
 
 
 - да сейчас глянул stm32l4xx_hal.c там галимый индусокод заточенный на 1ms, функцию HAL_Delay() поправить чтоб правильно считала в зависимости от настроек систика.  Aleksey_75(96 знак., 30.07.2019 00:49)
															
 
 - В файле stm32f4xx_ll_usb.c функция HAL_Delay() вызывается 6 раз. Например:  Ксения(696 знак., 30.07.2019 00:35)
													
 
 - "калиброванные временные задержки с помощью цикла холостых команд" - DWT вам в помощь, а систик оставьте под HAL если так хочется.   Aleksey_75(148 знак., 30.07.2019 00:14 - 00:19)
											
 
 - Проблема в том, что HAL из CubeMX использует системный таймер, а не DWT. Для своих целей DWT использовать можно, однако это решение эквивалентно тому, чтобы системный таймер не трогать, а пользоваться своим таймером (DWT или обычным - не  Ксения(324 знак., 30.07.2019 00:00)
									
 
 - Кто тот гуру, который сказал, что 1 мс в самый раз? Ну мне 100 мкс в самый раз :) - VLLV(29.07.2019 22:31)
							
 - В документации ДЛЯ ЛЮДЕЙ это было бы во первых строках. А там, видимо, для адуринщиков. - SciFi(29.07.2019 21:50)
					
- Я рискую, но признаюсь, что далеко не всегда читаю документацию. Ебта, что нового могли изобрести человечество после 8259? NVIC? -  хоть какой-то возврат к здравому смыслу после одноуровневых прерываний убогих AVR и прочих MSP430. - VLLV(29.07.2019 22:14)
							
- Но есть нюансы. Впрочем, как обычно. - SciFi(29.07.2019 22:33)
 
 
 - Я рискую, но признаюсь, что далеко не всегда читаю документацию. Ебта, что нового могли изобрести человечество после 8259? NVIC? -  хоть какой-то возврат к здравому смыслу после одноуровневых прерываний убогих AVR и прочих MSP430. - VLLV(29.07.2019 22:14)
							
 
 - Архитектура ARM здесь виновата только тем, что там (в отличите от AVR) нельзя делать калиброванные временные задержки с помощью цикла холостых команд, а всегда приходится использовать для этой цели таймер. Особенно это актуально при поддержке  Ксения(411 знак., 29.07.2019 22:20)
					
 
 - 1. В RM на контроллер написано 1кГц! Вряд ли   STшники сами придумали - все идет от ARM. 2. Если я не использую HAL, а использую LL без USB? Масса надуманных немотивированнах зависимостей.  VLLV(144 знак., 29.07.2019 21:43)