Цитата(ZoonMan @ Jun 14 2007, 15:55)

Собрал USB устройство, похожее на Automator (http://www.obdev.at/products/avrusb/).
Залил в него немного откорректированую прошивку Automator'а.
Все работает нормально. Устройство определяется как положено. Отвечает на обращение к нему.
Помогите осуществить обмен данными.
В драйвере USB есть буфер usbTxBuf. По логике вещей, записывать информацию нужно в него, однако он недоступен из программы, т.к. объявлен в usbdrv.c. Этот файл в проект входит. Все нормально. Но переменная usbTxBuf является внутренней. Может ее объявление перенести в usbdrv.h?
Со стороны ПК терминал я написал (в проекте есть программа, я ее перенес на C++Builder) и он даже считывает область памяти из контроллера.
Только вот куда обращаться из прошивки, чтобы передавать информацию для видения терминалом не пойму.
К usbTxBuf лезть нельзя ни в коем случае - это системная переменная драйвера. В ней хранятся данные для отправляемого драйвером пакета.
Я не вникал в код Atomator-a но, обычно общение происходит посредством функции usbFunctionRead и usbFunctionWrite, хотя, возможно я и ошибаюсь. Тем не менее, попробуйте скачать другие проекты, проще будет разобраться. А еще лучше взять самый простой из них, и начать с него, чтобы понять хотя бы основные принципы. По крайней мере я начинал так...