Jump to content
Tokes

После перепрошивки невозможно подключиться к com порту

Recommended Posts

Здравствуйте.
CUBEMX + CUBEIDE + PUTTY + STLINK V2
Есть blue pill. Создал новый проект в CUBEMX. Включил там USB как COM порт. Завёл приём сообщений (модифицировал static CDC_Receive_FS функцию). Всё хорошо работает ровно до тех пор, пока в CUBEIDE не нажимаю F11 (build + flash + debug). После этого необходимо руками вытаскивать и засовывать кабель, чтобы можно было продолжать пользоваться терминалом. В то же время достаточно коснуться контакта "USB-" - и происходит тот самый желанный реконнект, после которого достаточно нажать restart session в терминале и всё продолжает работать нормально. 
Вопрос - как сделать программно, чтобы при старте устройство ("com port" или "usb com emulator") само себя "переподключало"?

Edited by Tokes

Share this post


Link to post
Share on other sites

USB устройство на шине обнаруживается по появлению подтяжки линии D+ на +3,3В.

Что бы после перезагрузки не нужно было вручную отключать/подключать устройство, тем самым имитируя включение/отключение подтяжки, нужно этой подтяжкой управлять програмно. Тоесть просто добавить транзистор. Устройство отключено - транзистор закрыт, подтяжки нет, ничего не опознается. Нужно подключится - открываем транзистор, линия D+ подключается к +3,3В через резистор. Сопротивление резистора - 1,5 к.

Edited by Вуйко

Share this post


Link to post
Share on other sites

Не нашёл решения изящнее, чем взять первый свободный пин, посадить его на D- и в коде написать следующее:
 

	GPIO_InitTypeDef GPIO_InitStruct;
	GPIO_InitStruct.Pin = GPIO_PIN_6;
	GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
	GPIO_InitStruct.Pull = GPIO_NOPULL;
	GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
	HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
	
	__disable_irq();
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET);
	uint32_t i;
	for(i = 0; i < 10000; i++);
	HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_RESET);
	GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
	HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
	__enable_irq();

Вообще хотел обойтись минимальной кровью, т.е. без задействования какого-либо пина и всё не мог понять, почему не работает управление пином, если инициализирован USB. В даташите потом почитал, что 
"As soon as the USB is enabled, these pins are connected to the USB internal transceiver automatically."
То есть чтобы это порешать надо было деинициализировать USB, потом заново.... 
В общем, если будет решение лучше - с удовольствием почитаю :)

@Вуйко , спасибо за участие )

Share this post


Link to post
Share on other sites

Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

Подробнее

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • может у него и есть положительный качества, но в данном случае он ведет себя некрасиво - реакция на справедливые замечания, можно сказать неадекватная.
    • В этом месте обычно стоят конденсаторы по 470...1000 мкФ х 6,3 В.
    • Второй раз пишу , почему-то первое сообщение ушло в "никуда". За Дениса поручусь , он очень адекватный человек. Поэтому , с моей точки зрения ,  не надо на него навешивать ярлыки. Не всем доступно искусство донести Суть до стороны , но человек не "схемудай" , и схватывает всё на лету , умеет иметь своё вполне обоснованное мнение , жёсткий практик. А я - для Вас просто Прохожий , так удобнее.
    • В LLC идеальная синусоидальная форма тока будет тогда, когда рабочая частота будет равна резонансной (если вы об этом): Только в том случае, если у вас стабильное входное напряжение (в наличии не абы какой ККМ, например). То, что у вас в розетке - не показатель. Я хоть и не в Германии живу, но и у меня всегда в сети достаточно стабильно держится 230-235 В.  Вообще не понятно зачем для столь маломощных нагрузок полумост. 
    • Ну в дизайн гайдах обычно из этого исходят. Не понятно, из каких соображений Старичок в своей программе задал режим работы ниже резонансной. Почему-то интуиция мне подсказывает, что идеальный режим - резонансная частота с добавлением дэд тайма. На статической нагрузке вполне реально подогнать под такой режим. А фонокорректор, для которого как раз и проектирую резонансник, фактически этой статической нагрузкой и является. 90% потребления - накал, плюс работа в классе а, что тоже не является сильно динамическим потребителем  Ну и плюс, живу в Германии - сколько не пихал мультиметр в розетку, всегда ровно 230
    • Это ещё ничего. Мне жена рассказывала, как в детстве, они с девчонками бегали в магазин " Ткани " с ножницами и отрезали от образцов с витрины кусочки, чтобы сшить платьица для кукол. Когда их поймали, то родители их в угол не поставили  
    • Порядка 40 шт корпусов для USB с Али.  Габариты с крышкой 80х28х11  - по 5р G125 - 1шт   400р OKW Toptec 123H  - 6шт  по  310р   (123х68х45)  https://www.okw.com/ru/Toptec/B1050365.htm?var=af890cb0-c2e5-11e2-8e2c-0050568225d7 OKW Toptec 154H - 2 шт  по  310р  (154х84х56)  https://www.okw.com/ru/Toptec/B1060365.htm?var=af890cb0-c2e5-11e2-8e2c-0050568225d7 hammond 1455L1201 - 4 шт новые в упаковке - по 1200р 2 шт без боковых панелей - по 800р

  • Зарядный модуль для powerbank, 5V, 2A

  • Similar Content

    • By admin
      В видео протестируем плату Nucleo G474RE и проверим насколько она быстрее Arduino Uno.
      Текстовый вариант инструкции, как превратить отладочную плату STM в Arduino: https://www.compel.ru/lib/132248
      Плата Nucleo-G474RE: https://www.electronshik.ru/item/ST/NUCLEO-G474RE
      Arduino Uno: https://www.electronshik.ru/item/ARDUINO/ARDUINO%20UNO%20REV3
      Репозиторий проекта stm32duino: https://github.com/stm32duino/Arduino_Core_STM32
      Репозиторий benchmark’а: https://github.com/PaulStoffregen/CoreMark
      Пи тест, вторая часть: https://youtu.be/uLOWYE-JJpA
      Пи тест, первая часть: https://youtu.be/ozu1IUjH1_Q
      Платы XNucleo: https://www.st.com/content/st_com/en/search.html#q=xnucleo-t=tools-page=1
    • By Zendilor
      Добрый день, меня интересует вопрос про Keil u Vision 5. Кто переходил с arm compiler 5 на arm compiler 6? Меня интересуют подробности, гайды на оф сайтах я пересмотрел. Кто использует ARM compiler 6? Какие плюсы, минусы, ньюансы. Я сделал все как в видеогайде но у меня есть 4 ошибки которые я не могу убрать.
    • By 3цераптор
      Аутомотив Солюшенз Груп, (ASG) входящая в группу компаний VK Electronics, открывает вакансию программиста микроконтроллеров. На данный момент компания ведет свою деятельность по трем направлениям:
      Разработка автомобильной электроники (блоки управления для сбора данных);
      Системы управления автопарком;
      Промышленная электроника (система "умный дом" SOHO)
      Сотрудничая с нами, Вы будете находиться на острие новых технологий, заниматься исследованием и креативной разработкой, а не банальным написанием кода в жестких условиях ТЗ. Мы позволим Вам самостоятельно принимать решение и находить новые технологии реализации Ваших идей.
      Вы заинтересованы в собственном развитии и Вам интересны новые технологии, а так же Вы желаете стать частью команды современной компании?Ждем Ваших откликов!
      Что нужно делать:
      разрабатывать прошивки для микроконтроллеров;
      участвовать в составлении ТЗ в составе рабочей группы проекта.
      Мы хотим видеть специалиста с...
      Профильным образованием, рассматриваем выпускников ВУЗов;
      Знанием языков программирования;
      Знанием ОС FreeRTOS, Linux;
      Умением программировать чисто, без мусора в коде и стандартных библиотек;
      Умением самостоятельно, а главное быстро разбираться и искать пути решения интересных и трудных задач;
      Знанием архитектур на ядре ARM7,Contex-M3, Contex-M4;
      Опытом работы с процессорами STM 32F1/2/3/4, NXP, Texas industries;
      Знанием протоколов CAN, CANOpen, RS232, RS485;
      Опытом работы с беспроводными модулями GSM,GPS,WiFi и их аппаратными реализациями;
      Опытом разработки ПО для серийных изделий.
      Мы предлагаем:
      ЗП по итогам собеседования, от 80 000 руб.
      Адекватную мотивацию как по ЗП, так и по бонусам;
      Комфортный офис, расположенный в самом центре г. Воронежа;
      Необходимое оборудование для продуктивной работы;
      Пятидневная рабочая неделя, с 9 до 18 часов ( возможно смещение времени работы);
      Работа в молодой команде профессионалов;
      Возможность работать с реальными проектами, видеть результаты креативной работы;
      Сладости для питания мозга :).
    • By Александр Кобелев
      Может кто поможет понять почему китайский свисток ST-Link не хочет работать?
      В ST-Link Utility выскакивает "Can not connect to target". Распиновка и подключение мк к st-link правильные, firmware update делал, under reset тоже не работает, драйвера установлены. Сам же мк спокойно отображается в ST-Link Utility при использовании другого ST-Link, который распаен на другой плате STM32 Discovery 
×
×
  • Create New...