Многие устройства на микроконтроллерах связывались с внешней аппаратурой по последовательному интерфейсу RS-232 (com-порт). Но на современных персональных компьютерах такой интерфейс оказался недоступен. Из-за отсутствия com-порта возникают сложности при разработке новой аппаратуры на микроконтроллерах, а также теряется возможность подключения к компьютеру старых устройств. Можно решить проблему, оснастив устройство интерфейсом USB (UniversalSerialBus). Как вариант можно пойти путём аппаратурного преобразования RS-232 в USB, но для такого метода потребуется дополнительная микросхема и дополнительные компоненты. А возможно передавать сигналы RS-232 на шину USB через аппаратный модуль микроконтроллера, воспользовавшись библиотекой microchip. Достоинство последнего метода в том, что не требуется изменений в имеющемся программном обеспечении для компьютера – компьютерное приложение будет видеть USB как соединение по RS-232. Другое преимущество в том, что не нужно разрабатывать сложный драйвер модуля USB для микроконтроллера, а старую программу просто импортировать на микроконтроллер с интерфейсом USB, добавив к имеющемуся в библиотеке коду свой исходный текст программы.
В этой статье рассматривается создание CDC-устройства, эмулирующего RS-232 через USB. Для прочтения статьи не требуется особых знаний о стандарте USB. Необходимо только знание базовых конструкций языка СИ и умение работать в Windows. Прошивку микроконтроллера можно осуществлять через bootloader, который нужно будет один раз прошить в микроконтроллер при помощи программатора. Затем можно обновлять программу контроллера не используя программатор, что может оказаться удобным при программировании в «полевых» условиях.
Для работы со статьёй нужна будет плата PICDEMFSUSB с контроллером PIC18F4550 или аналогичная, собранная своими руками, по той же схеме, и ряд программ, которые нужно скачать с сайта www.microchip.com и установить на компьютер.