Size: a a a

2021 January 31

AS

Andre Savelev in STM32
источник

AS

Andre Savelev in STM32
Вообще, я пытаюсь сделать виртуальный СОМ-порт.
По такой инструкции:
https://microtechnics.ru/stm32cube-i-usb-virtual-com-port/

Делаю всё как там, СОМ-порт не появляется. А если выставляю вот такие предделители и значения, то камень перестаёт отвечать. Даже светодиод не мигает (у меня в while простое мигание стоит).
источник

АК

Алексей Куликов... in STM32
Если под отладчиком запустить?
У меня было такое. Если нажать на паузу, то видно, что крутится в Error_Handler
источник

АК

Алексей Куликов... in STM32
источник

АК

Алексей Куликов... in STM32
Тут написано, как починить старт USB. Мне очень помогло.
источник

AS

Andre Savelev in STM32
Сейчас попробую и отпишусь. )
источник

AS

Andre Savelev in STM32
Не помогло.

Правильно ли, что

 MX_GPIO_Init();
 MX_USB_DEVICE_Init();

идут в таком порядке, при этом патч, о котором мы говорим, я добавляю в   MX_GPIO_Init();

?
источник

AS

Andre Savelev in STM32
то есть USB_Reset(); находится в конце MX_GPIO_Init();

и сразу после этого отрабатывает родной код MX_USB_DEVICE_Init();
источник

AS

Andre Savelev in STM32
Добавил USB_Reset(); в конец инициализации USB, Тоже не помогло.
источник

AS

Andre Savelev in STM32
Посмотрю что в отладчике.
источник

AS

Andre Savelev in STM32
Вот этот участок пройден без ошибок:
источник

AS

Andre Savelev in STM32
источник

AS

Andre Savelev in STM32
Смог добиться результата на второй своей дешёвой STM32-плате. В системе появился виртуальный СОМ-порт без проблем.
источник

AS

Andre Savelev in STM32
Алексей Куликов
Тут написано, как починить старт USB. Мне очень помогло.
спасибо за эту ссылку, она полезная. Помогает не дёргать провод каждый раз после обновления прошивки в контроллере (то есть имитирует отключение и подключение провода).

Но мою проблему с тем, что на Black Pill (STM32F411CEUx) устройство даже не появляется в диспетчере устройств, она не решает.
источник

VO

Valeriy Osipov in STM32
@DimastD в общем у меня дошли руки до дисплея на ili9341 на stm32f303, курил чужие коды, в итоге докурился до фикса

 while (!(DISPLAY_SPI->SR & SPI_SR_TXE));
 *((__IO uint8_t*) &DISPLAY_SPI->DR) = high_color;
 while (!(DISPLAY_SPI->SR & SPI_SR_TXE));
 *((__IO uint8_t*) &DISPLAY_SPI->DR) = low_color;

вроде вы мне в личке тоже самое предлагали сделать, но что-то в тот раз пошло не так, видать руки не оттуда. можете попробовать это в свой пример перенять, хотя для большей универсальности наверное надо всё через LL делать
источник

DB

Dima B in STM32
Valeriy Osipov
@DimastD в общем у меня дошли руки до дисплея на ili9341 на stm32f303, курил чужие коды, в итоге докурился до фикса

 while (!(DISPLAY_SPI->SR & SPI_SR_TXE));
 *((__IO uint8_t*) &DISPLAY_SPI->DR) = high_color;
 while (!(DISPLAY_SPI->SR & SPI_SR_TXE));
 *((__IO uint8_t*) &DISPLAY_SPI->DR) = low_color;

вроде вы мне в личке тоже самое предлагали сделать, но что-то в тот раз пошло не так, видать руки не оттуда. можете попробовать это в свой пример перенять, хотя для большей универсальности наверное надо всё через LL делать
каждый байт отдельно передавать - не очень эффективно.. я бы через DMA передавал целыми блоками
источник

ДС

Дмитрий Семенов... in STM32
Всем привет! Пытаюсь сменить скорость у SIM7020, ловлю ошибку при отправке АТ
В чём может быть дело?
Команда IPR - смена скорости - возвращает ОК
источник

ДС

Дмитрий Семенов... in STM32
источник

ДС

Дмитрий Семенов... in STM32
источник

ДС

Дмитрий Семенов... in STM32
Оч странно, сделал ещё одну проверку, всё стало ок
На гитхубе значит некорректный пример лежит )
https://github.com/stDstm/Example_STM32F103/tree/master/GSM_F103
источник