Взаимодействие PIC микроконтроллера с Java на ПК с использованием USB - PullRequest
4 голосов
/ 26 февраля 2010

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

Ответы [ 4 ]

2 голосов
/ 28 февраля 2010

Почему вы приняли ответ выше?Я согласен с комментарием @ Яна там.

PIC18F4550 и его друзья имеют встроенный USB.Это просто, и есть множество примеров, где можно вставить виртуальный последовательный порт в прошивку PIC.Другим другим является устройство HID, опять же множество примеров прошивок PIC.

Не добавляйте больше оборудования в пудинг.

2 голосов
/ 26 февраля 2010

Сначала отказ от ответственности: я не делал этого с PIC и Java, только с AVR32B с VB на ПК.

Если вы внедрите устройство класса USB CDC в интерфейс USB микроконтроллера и подключите его к USB-хосту своего ПК, оно будет перечисляться и появится в виде нового COM: порта. Это затем обрабатывается приложением как обычный последовательный порт. Я использовал стандартный драйвер Windows USBSER.SYS.

Я предполагаю, что микрочип предоставляет пример исходного кода для своего периферийного устройства USB, чтобы позволить ему работать в разных классах устройств. (Я знаю, что Atmel делают для семейства AVR32)

1 голос
/ 16 февраля 2011

Вам необходимо использовать JNI для непосредственного вызова WIN32API. Я использовал библиотеку JNA (JNI wrapper), чтобы упростить реализацию, и сделал библиотеку DLL для упрощения экспорта и прямых методов в Visual C ++ 2010. Вы также можете создавать другие библиотеки (DLL / SO) с использованием того же интерфейса для других систем, таких как OSX и Linux.

1 голос
/ 26 февраля 2010

Подход Arduino должен быть адаптирован к вашим потребностям: микроконтроллер с аппаратным UART в сочетании с микросхемой FTDI USB-to-TTL, затем используйте rxtx для доступа к получающемуся последовательному порту на платформах «100+».

Этот подход, кажется, работает хорошо: общаться и программировать arduino очень легко под Linux, Windows и OS X.

...