Сопряжение микроконтроллера PIC с Java на ПК с помощью USB
Привет! Я хочу, чтобы интерфейс PIC18F4550 с программой Java и сделать его изначально кросс-платформенным. Есть только один способ я сейчас Java есть Джевецкому. Но я хочу, чтобы это был USB, потому что не каждый ноутбук имеет порт RS232 в настоящее время. Waht-это способы взаимодействия PIC с Java, которые вы можете предложить, чтобы сделать его действительно кросс-платформенным и избежать написания драйвера для каждой новой ОС?
4 ответа:
Ардуино подход должен быть приспособленными к вашим потребностям: микроконтроллер с аппаратным UART в сочетании с чипом FTDI USB-к-TTL чип, а затем использовать rxtx чтобы получить доступ к в результате последовательного порта на "100+" платформ.
Этот подход, кажется, работает хорошо: общение и программирование arduino очень легко под Linux, Windows и OS X.
Первый отказ от ответственности: я не делал этого с PIC и Java, только с AVR32B с VB на ПК.
Если вы реализуете устройство класса USB CDC на интерфейсе USB микроконтроллера и подключаете его к USB-хосту вашего ПК, оно будет перечисляться и отображаться как новый COM: порт. Это затем обрабатывается приложением как обычный последовательный порт. Я использовал стандартный драйвер windows USBSER.SYS.
Я предполагаю, что микросхемы предоставляют пример исходного кода для их USB-периферийного устройства, чтобы позволить это работать в различных классах устройств. (Я знаю, что Atmel делают для семей AVR32)
Почему вы приняли ответ выше? Я согласен с комментарием @Ian там.
PIC18F4550 и его друзья имеют встроенный USB. Это легко, и есть много примеров, чтобы поместить виртуальный последовательный порт в прошивку PIC. Другое другое-это скрытое устройство, опять же множество примеров прошивки PIC.
Не добавляйте больше оборудования в пудинг.
Вам нужно использовать JNI для непосредственных вызовов WIN32API. Я использовал библиотеку JNA (JNI wrapper), чтобы упростить реализацию, и сделал DLL для экспорта более простых и прямых методов в Visual C++ 2010. Вы также можете создавать другие библиотеки (DLL / SO), используя тот же интерфейс для других систем, таких как OSX и Linux.