Сопряжение микроконтроллера PIC с Java на ПК с помощью USB


Привет! Я хочу, чтобы интерфейс PIC18F4550 с программой Java и сделать его изначально кросс-платформенным. Есть только один способ я сейчас Java есть Джевецкому. Но я хочу, чтобы это был USB, потому что не каждый ноутбук имеет порт RS232 в настоящее время. Waht-это способы взаимодействия PIC с Java, которые вы можете предложить, чтобы сделать его действительно кросс-платформенным и избежать написания драйвера для каждой новой ОС?

4 4

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.