Как ни странно, но USB в STM32F103 работает и без кварца, от HSI - сегодня развлекался )
Требования для full speed вроде как 0.25%.
Проверил HSI по usb-шным же SOF-пакетам, которые приходят каждую миллисекунду - по дефолту -0.2%
Изменил на единичку HSITRIM в RCC_CR, вроде как это должно соответствовать изменению где-то на 40 КГц, так и есть - стало +0.2%
USB работал и в том, и в другом случае.
Я довёл HSITRIM до 0x18 (половина всей шкалы), получилось где-то +2% - всё работало.
Уменьшил до 8 (полшкалы в обратную сторону), получилось где-то -3% - всё работало.
Поставил 0x1F (максимум) - получилось где-то +5%, девайс определялся, но данные передавались уже со сбоями.
Update
Проверил ещё три МК - всё то же самое - HSI по дефолту плюс-минус 0.2-0.3% и перестраивается по 0.4-0.5% на единицу изменения HSITRIM.
USB естессно также работает
Отредактировано vt340 (2017-06-13 21:15:58)