Puerto USB con java

Saludos amigos :D . Soy totalmente nuevo en este foro y me alegra mucho que existan sitios como estos en donde nos ayudemos mutuamente.

Estoy realizando un proyecto en donde desde el Pic 18f4550 envio y recibo datos al puerto USB. Todo muy bien pero lo que no he podido montar es una aplicacion en java que lea y envie datos por dicho puerto. Estuve averiguando y encontre algunas Apis para manejo de este puerto pero funcionan perfectamente en Linux y yo estoy trabajando es en Windows Xp. He buscado mucho y lo que he encontrado de manejo de USB en java con Windows ha sido muy poco, complejo y no me ha funcionado.
Agradezco mucho si alguien sabe o tiene información, ejemplos y todo lo que haya de esto y me pueda colaborar, ya que me urge culminar esto con exito.

Gracias y que Dios y la felicidad los acompañe. :LOL:
 
Saludos hardwaresabs . . .

Yo he programado el puerto USB con un PIC18F4550 y un programa en Java, por lo que comentas no tienes problemas con el PIC, tu problema es con el programa en Java, para realizar el programa necesitas utilizar la JNI que es una herramienta de Java que te permite utilizar codigo escrito en otro lenguaje en tus clases de Java.
A grandes razgos lo que tienes que hacer es escribir el codigo de una clase Java para el USB declarando los metodos con el modificador "native", despues debes utilizar la JNI sobre el archivo de la clase Java, esto te dara como resultado un archvio *.h que contiene las definiciones de los metodos de tu clase pero en lenguaje C, posteriormente tienes que escribir la definicion de los metodos en un archivo *.c o *.cpp y compilarlo junto con el *.h como biblioteca de vinculos dinamicos o DLL. En realidad el puerto USB lo debes programar en C dentro de la definicion de las funciones en el archivo *.c o *.cpp.

En efecto puede ser un metodo complicado y si lo usas debes tener mucho cuidado con las herramientas de programacion que utilizas, te recomiendo que para enlazar la DLL utilices el compliador de C de Visual Studio ( CL ) y que todo lo compiles desde la linea de comandos utilizando Makefiles.

. . . espero que aun te sirva de algo
 
Saludos Amigos
Me gustaria saber como lograr la comunicacion USB entre el pic 18f4550 y java en linux... q drivers usar, codigo, etc... He trabajado comunicacion USB con el pic 18f4550 en c# en windows, y ps ahi es muy sencillo, pero ahora para un proyecto me piden en linux y no tengo idea....
 
la única seria manejarlo por hid (human interfas device) paro no se que api se utilice en linux, o la otra seria programar los drivers que seria mas difícil creo. yo he podido hacerla comunicación pic-pc usb con java pero solo en windows.
 
Hola AFProg, como estas?

Te comento que lei en un post que vos pudiste realizar una comunicacion de un pic con java via el puerto usb, me podrias contar como hiciste? algun ejemplo de codigo? usaste las dll nativas de windows? porque vi el post de jPIC y el problema es que usa la dll de Microchip y queria si podia ser mas generico con alguna nativa de windows.

Desde ya, muchas gracias!
 
Hola, soy nueva en este foro, pero con respecto a la programacion del PIC 18F4550 para comunicarlo con usb con el computador me gustaria saber si el micro es mas facil programarlo en C o en assembler. Gracias
 
A mi entender es mas facil programarlo en C. La diferencia esta en que al programarlo en ASM tenes un control total, en cambio en C por ahi hace cosas que vos no te das cuenta y tarda un poco mas. Lo bueno de C es que te encapsula muchas lineas de assembly en una funcioncita de C (mas alla de la portabilidad del C y otras cuestiones...)
 
Hola a todos, resulta que estoy realizando un proyecto y necesitaria saber el esquema electrico para montar un programador para el pic18f4550. Tengo el programa realizado con el compilador CCS y me he bajado el winpic800.
He visto que hay varios programadores como el pickit, el art2003 y el gtp-usb. Pero bueno, me gustaria saber, cual de ellos es mejor, y el esquema para montarlo.

Muchas gracias de antemano.
 
yo me hice una especie de placa de desarrollo para el 18f2550, como el bootloader inicialmente lo tendras que cargar por medio de ICSP no tenes mas remedio que hacer uno como el que esta en la pagina de pablin.com.ar, que se utiliza con el winpic800 y con el puerto paralelo de tu PC. Luego para usar el bootloader, se utiliza una conexion dependiendo de FW de bootloader que hayas grabado por medio del cable ICSP. Yo actualemnte estoy trabajando en uno tipo ISP para los atmel tipo at89s52 con el PIC 18f2550 y conexion USB; pero nuevamente pasa lo mismo, la primer grabacion de bootloader debe hacerse por ICSP (cable paralelo).
Para este tipo de grabaciones en los pics se necesita una tension de programacion VPP que si no equivoco es de entre 11 y 13 volt, hay que re leer la hoja de datos.
Resumiendo... si necesitas programacion ICSP, con el de pablin va bien... www.pablin.com.ar
 
Hola ja_fileiv2, he probado el pablin2 con ic-prog pero me salta un error de verificacion al grabar en 00000h, pero es que ademas no se enciende el led de PIC, porque puede ser?

He estado eyendo en foros y dicen que es por la Vpp baja, pero tengo puesto un potenciometro para regular la tension y subirla para probar, pero nada.
 
En cuanto a programadores... yo estuve buscando programadores USB hace como 2 meses y pregunte... y la respuesta esta aqui en el foro.. buscar por PIC KIT 2 CLONE.... el firmware es gratuito y programa correctamente casi cualquier micro.......
PIC18F
Saludos
 
Si requeris velocidad yo personalmente usaria la clase CDC (Communication Device Class). Esta clase te presenta un COM virtual en el SO. Entonces en java solo seria como abrir un puerto serie.
 
Para lograr mayor velocidad debes usar transferencia bulk y configurar el tamaño de los buffers de los Endpoint a 64 bit. Logras una velocidad FullSpeed (1,5Mbit/seg).
 
yo he logrado hacer interfaces con los JNI de java con el puerto paralelo.

lo que quisiera es q me ayudaran a poder crear la dll del pic18f4550 y ai poder sacar los datos
 
Atrás
Arriba