-
- Обнаружилось "STM32F10xxC/D/E Errata sheet"... POV_(522 знак., 20.07.2020 13:35, )
- Напиши свою функцию VDDUSB_Detect. В которой PA9 будет включаться и
выключаться EXTI по данному пину, и в ручную делай
коннект-дисконект! Aleksey_75(877 знак., 20.07.2020 13:58)
- Ничего не понял... POV_(158 знак., 20.07.2020 16:06, )
- PA9 вход питания с USB (USB_VBUS), без высокого уровня на нем USB
работать на F1xx не будет. В отличии от EXTI18 любая другая линия и
разбудит проц! А чтоб в ручную подключать/отключать устройство
требуется bDeviceState = UNCONNECTED или bDeviceState = СONNECTED - Aleksey_75(20.07.2020 16:18)
- Про PA9 не знал... но там волею случае высокое и так есть... POV_(530 знак., 20.07.2020 16:39, , ссылка)
- что за код у тебя в обработчике exti18 ??? попробуй внутри
прописать если PA9 == HIGH - bDeviceState = СONNECTED, Если LOW -
bDeviceState = UNСONNECTED. И еще какие номиналы резисторов на
делителе между питаловом USB разъема и PA9?? - Aleksey_75(20.07.2020 16:52)
- Сделал пока вот так... POV_(178 знак., 20.07.2020 17:14, )
- А если напрямую установить bDeviceState = CONNECTED ?? хотя там
пауза полюбому должна быть в пару тройку mS. Кста , я бы так
попробовал for (uint32_t qwer = 0; ((qwer < 1000000) &&
(bDeviceState == UNCONNECTED)); qwer++); - Aleksey_75(20.07.2020 17:18)
- Не, bDeviceState в этом же прерывании и устанавливается. Если паузу
сразу не сделать, то спустя несколько прерываний USB перестает
реагировать на что-либо... POV_(41 знак., 20.07.2020 17:20, )
- там либа та еще! У мну на неё PVS-Studio люто ругается, но вроде не
критично ) Кстати не очень понятно какая версия либы, можно
попробовать с сайта подсунуть Aleksey_75(3 знак., 20.07.2020 17:28, ссылка)
- О, у меня 4.0.0, старовата! - POV_(20.07.2020 17:35, )
- там либа та еще! У мну на неё PVS-Studio люто ругается, но вроде не
критично ) Кстати не очень понятно какая версия либы, можно
попробовать с сайта подсунуть Aleksey_75(3 знак., 20.07.2020 17:28, ссылка)
- Не, bDeviceState в этом же прерывании и устанавливается. Если паузу
сразу не сделать, то спустя несколько прерываний USB перестает
реагировать на что-либо... POV_(41 знак., 20.07.2020 17:20, )
- А если напрямую установить bDeviceState = CONNECTED ?? хотя там
пауза полюбому должна быть в пару тройку mS. Кста , я бы так
попробовал for (uint32_t qwer = 0; ((qwer < 1000000) &&
(bDeviceState == UNCONNECTED)); qwer++); - Aleksey_75(20.07.2020 17:18)
- Вот всё что там есть.... POV_(345 знак., 20.07.2020 16:56, )
- Сделал пока вот так... POV_(178 знак., 20.07.2020 17:14, )
- что за код у тебя в обработчике exti18 ??? попробуй внутри
прописать если PA9 == HIGH - bDeviceState = СONNECTED, Если LOW -
bDeviceState = UNСONNECTED. И еще какие номиналы резисторов на
делителе между питаловом USB разъема и PA9?? - Aleksey_75(20.07.2020 16:52)
- Про PA9 не знал... но там волею случае высокое и так есть... POV_(530 знак., 20.07.2020 16:39, , ссылка)
- PA9 вход питания с USB (USB_VBUS), без высокого уровня на нем USB
работать на F1xx не будет. В отличии от EXTI18 любая другая линия и
разбудит проц! А чтоб в ручную подключать/отключать устройство
требуется bDeviceState = UNCONNECTED или bDeviceState = СONNECTED - Aleksey_75(20.07.2020 16:18)
- Ничего не понял... POV_(158 знак., 20.07.2020 16:06, )
- Напиши свою функцию VDDUSB_Detect. В которой PA9 будет включаться и
выключаться EXTI по данному пину, и в ручную делай
коннект-дисконект! Aleksey_75(877 знак., 20.07.2020 13:58)
- да, только 103VE - POV_(10.07.2020 12:12, )
- Обнаружилось "STM32F10xxC/D/E Errata sheet"... POV_(522 знак., 20.07.2020 13:35, )