Доброго времени! Вопрос скорее о том, что легче реализовать. Нужно через PIC18 по USB передавать туда сюда и чтобы для начала как-то на компе можно было это найти. Примеров в сети куча. Может кто подскажет, чтобы время не терять, что проще реализовать?
Спасиб! Я кстати на gamma уже слазил. Даже получилось просимулировать в Протеусе CDC! Протеус действительно хорош! В код глянул. Чюйствую придется немало повозиться, чтобы под себя переделать. Посмотрим дальше..
Electronic Могу лишь сказать по части ПК: Если имееются готовые наработки с COM портом (библиотеки / др. компоненты) CDC будет проще и быстрее всего т.к. ничем от обычного COM'а отличаться не будет - всю "грязную" работу по спряжению стандартных WinAPI функций для последовательного порта займется стандартный драйвер уже встроенный в Windows. Если таких наработок нет - HID может стать более приоритетным вариантом из-за наличия библиотек типа libusb. Примеров использования - множество, могу порекомендовать проект V-USB от obdev.at, в общем целом предназначенный для AVR, но с программными примерами для ПК которые естесственно подойдут для чего угодно.
В размере кода на контроллере разница минимальна. Но CDC както отлаживать приятнее (в любом терминале), а для CDC надо костыли городить И с переносом проще - на разных системах по разному c HID работают, если на libhid не заморочишься.
советую если не поздно поменяй проц на AT90USB162. Я хоть не люблю авр, но тут проникся. Даже программатора не надо - бутлоадер вшит производителем, просто подсоедини USB кабель.
вирт. СОМ - CDC привязать к РС проще, но не так интересно, поскольку под это дело куча готовых чипов есть. А в плане МК кода - он практически готовый под любой вариант подключения.
Я тоже как раз взялся за освоение USB. Atmel для этого предлагает много интересной информации в плане готовых модулей, библиотек и примеров. В частности для AT90USB82/162 - AVR USB Series2 Software Packages. Особо мое снимание привлекло AVR328: USB Generic HID Implementation. Там они предлагают конфигурировать свой девайс как HID, чем избавляют нас от написания драйверов, и дают готовую DLL'ку для работы с ним (read-write, open-close). Довольно просто все получается.
Но вообще меня PIC18F4550 по CDC не впечатлил, как то медленно, и под WindowsCE драйвера для USB не нашел. Это я КПК бота делал. А для FTDI драйвера под WindowsCE есть. Вот такая платка может быть интересной для поиграться (ну эт если есть свободные средства) http://www.olimex.com/dev/pic-usb-4550.html = PIC18F4550 с обвязкой, ее я использовал когда USB/CDC делал. http://www.olimex.com/dev/pic-mt-usb.html = это USB(FTDI)<=UART=>PIC16F877A, вполне рабочая, я ее без виртуального COM порта использовал. Эти платки в терре есть.
Всем доброго времени! Я уже решил определиться, что буду работать с CDC. Просто объем информации по этой теме гигантский, нужно остановиться на чем-то. Тем более пример работает на PROTEUS и бибилиотеки для delphi есть. Дело еще в том, что я с PIC вообще не работал. Нужен программатор. Может из личного опыта кто подскажет какой программатор лучше использовать для PIC18 с USB. Можно ли своими силами такой спаять?
советую если не поздно поменяй проц на AT90USB162. Я хоть не люблю авр, но тут проникся. Даже программатора не надо - бутлоадер вшит производителем, просто подсоедини USB кабель.
Извиняюсь, может небольшой ликбез - что такое бутлоадер? Возможно и впрямь пока не поздно перемитнуться на AVR.
Бутлоадер - это программа, которая позволяет прошить МК его внутренними средствами, без использования ISP и т.п. Обычно использует УАРТ, или USB если МК его поддерживает. То есть не нужен специальный программатор, просто цепляем МК к компьютеру, и заливаем прошивку