четвер, 7 грудня 2017 р.

Зовсім просто про Virtual COM Port поверх USB плати STM32F3Discovery

Взято тут.
Шина USB, Universal Serial Bus, складна. Звична плата за універсальність і простоту використання. На жаль, я поки із нею знайомий лише побіжно. Однак, не тільки в мене такі проблеми :-). Тому багато популярних мікроконтролерів містять периферію, котра бере турботу про низькорівневі подробиці функціювання USB на себе. Зокрема, є підтримка і у багатьох MCU STM32. На платах STM32F3DiscoverySTM32F4Discovery та інших навіть виведено окремий роз'єм (Mini-B та Micro-B, відповідно).
Є він і у ряду плат серії STM32F0, на клонах Maple Mini із STM32F103, тощо. Про них напишу трішки пізніше. Але не ARM-ами єдиними. Поміж плат на AVR теж такі трапляються, зокрема, в сімействі плат Arduino. Я б виділив Digispark -- найменший із Arduino. Детальніше про AVR + USB див. серію статей "AVR ATtiny USB Tutorial Part", але, в принципі, такі фокуси можливі і з іншими Arduino.
Крім того, STMicroelectronics надає Middleware, програмні бібліотеки, які спрощують роботу із USB до майже тривіальної -- якщо не хотіти чогось хитрого.

І ось поверх цього USB демоплат можна влаштувати зручний та дуже швидкий (особливо в порівнянні із semihosting) канал обміну інформацією із комп'ютером --  віртуальний COM-порт (чи UART) , VCP. Подивимося, як це можна зробити.

Зміст:
  1. Огляд USB
  2.  USB VCP на STM32F3Discovery -- початок
  3.  USB VCP -- доводимо до юзабельності