uControl
Septiembre 09, 2010, 03:02:46 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 »   Ir Abajo
  Imprimir  
Autor Tema: Tutorial: JAVA + PIC + USB (Primeros pasos)  (Leído 37007 veces)
0 Usuarios y 3 Visitantes están viendo este tema.
sergio64
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #195 : Noviembre 16, 2009, 10:59:25 »

Hola Geronimox:
Graciass. te comento estoy realizando mi proyecto de grado el cual esta basado en un prototipo de una maquina CNC
"Control NUmerico Computacional", la cual esta basada en una Intefaz en java que me permite capturar
un Archivo .txt que contiene las coordenadas de todas las  perforaciones de las baquelas, este archivo lo genere en En el software
CAD Eagle por medio de los archivos Excellon, estos datos los guardos en dos vectores uno contiene las coordenadas del eje X y el otro las coordenadas del eje Y.
Despues de tener estos datos ya guardados en dichos vectores le indico al PIC que ya estoy listo para enviarle los datos y el me responde que los puedo enviar. primero le envio por USB una coordenada, "(X,Y) donde X,Y es un valor numerico dado en milimetros",
de un punto entonces la maquina hace lo suyo, jejej, es decir se ubica en dicha coordenada y perfora la baquela, despues de haber hecho esto le indico a la interfaz que me envie otra coordenada.  aaaaqui es lo que yo me refiero despues de que yo le envio desde java una coordenada y el PIC hace lo suyo no quiero dejar a java en un poli o en un while esperando a que llege la indicacion proveniente del PIc a que le envie el otra coordenada, yo lo tengo funcionando asi pero quisiera saber cambiarlo por eso te pregunto a ver si lo tenes por interuciones de todas maneras por ahy estoy viendo algo referente a usb por interrupciones si me funciona te aviso
okaaaaaaaaaaaaa
En línea
sergio64
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #196 : Noviembre 17, 2009, 11:55:59 »

Hola Geronimox:
Otra pegunta que tenia pendiente como le indicas a QWriteRead por que puerto USB transmitira los datos..
bueno mi driver del pic se instalo en el COM16, como le digo a java que trasmita por ese puerto............... ejjejeje
En línea
geronimox
Administradores
PIC18F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1125



WWW
« Respuesta #197 : Noviembre 17, 2009, 09:54:23 »

Hola Sergio!
Por lo que comentas, estas usando la clase CDC, la cual emula un puerto serie sobre USB.
Para este caso, no necesitas usar jpicusb en java. Directamente podes acceder a los puertos COMM en java usando las "Java Communication API"
Si deseas usar jpicusb, debes cambiar el codigo en el PIC asi no use la clase cdc, sino una clase "custom driver". Asi como se muestra en estos ejemplos.

Sobre tu pregunta de hacer un polling sin quedarte colgado en un lazo infinito, podes crear un Timer como se discutio aqui

Saludos!
En línea

Gero. Divide & Conquer.>----.
^-------------------------------|
-'-------------------------------'
Dolphinr2d2
PIC10F
*
Desconectado Desconectado

Mensajes: 1


« Respuesta #198 : Noviembre 18, 2009, 05:16:18 »

Soy nuevo en esto, tengo que trabajar con un PIC18F14K50, básicamente lo único que tengo que hacer es mandar un mensaje del PIC al PC y viceversa. Pero pues para lograr esto hay que configurar el PIC primeramente, del modo en que va a trabajar, y saben, los pipes, endpoints, velocidad, carga de datos de transmisión por (micro)frame, etc., el problema es que también se tiene que configurar el host (PC) supongo de acuerdo a como va a trabajar el microcontrolador, como logro hacer esta interfaz con JAVA, no se nada de Java, o hay alguna otra opción?, alguien que me pueda ayudar de favor, como lograr que la PC detecte el microcontrolador, y si es necesario que el micro tenga todos los datos de configuración llenos para que lo pueda detectar.
De antemano muchas gracias
En línea
geronimox
Administradores
PIC18F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1125



WWW
« Respuesta #199 : Noviembre 18, 2009, 11:37:32 »

Hola Dolphinr2d2, las 14 paginas de este thread, tratan exactamente de eso  Wink
Si queres bajarte ejemplos, podes hacerlo aqui
Saludos! Y Bienvenido al foro!
En línea

Gero. Divide & Conquer.>----.
^-------------------------------|
-'-------------------------------'
javierdpp
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #200 : Diciembre 10, 2009, 11:26:34 »

tengo el siguiete problema corrO el proyecto en netbeans pero no me reconoce el dispositivo es decir en la etiqueta me indica “dispositivo no conectado” realmente es mi primera experiencia con proteus y no se que estoy haciendo mal corro la simulacion (nuevo hardware encontrado pero me dice ocurrio un problema con la instalacion del hardware) si pudieras ayudarme te lo agradeceria
En línea
javierdpp
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #201 : Diciembre 11, 2009, 01:10:14 »

 Idiota Idiota jejejejeje no le habia instalado los drivers la verdad soy muy nuevo en esto
En línea
marturetjulio
PIC10F
*
Desconectado Desconectado

Mensajes: 30


« Respuesta #202 : Diciembre 25, 2009, 05:45:28 »

hola geronimox queria saber si me podías ayudar con un problema..fijate yo vi tu post que me parece super excelente para programadores que estamos empezando en java...yo ya he trabajado en java y con el compilador net beans y entiendo eso mas o menos,pero me falta es practicar mas...lo que quiero es empezar a hacer programas que se comuniquen con el pic..ya se programar en picc...pero no había manejado el puerto usb solo el serial...por eso quiero avanzar y aprender a manejar este puerto...y todas las instrucciones que esto implica...yo descargue el demo que tu colocaste en tu pagina con la librería que creaste, corri el programar en net beans y funciona a la perfección y luego lo simule en el proteus pero como ya había leído que debía instalare los drivers, se los instale antes de arrancar la simulación..luego arranque la simulación y me salio el mensaje de instalar el driver de microchip busque lo que descargue del demo que hiciste y los instalo y funciono, se comunico el programa en java con la simulación...pero aquí viene el problema prendi los bombillos y se prendian en la simulacion pero cuando active las otras opciones por ejemplo la del deslizador pareciera que se colgara la simulacion pues no hiso mas nada y le di conectar de nuevo al programa en java y decia dispositivo no conectado...asi que cerré la simulación y volví a instalar los driver usb de proteus y volví a arrancar la simulación y me volvió a pedir el driver le instale de nuevo el driver de microchip y funciono otra vez pero hace lo mismo se cuelga si toco alguno de los otros controles que no sean los bombillos. NO SABES PORQUE PUEDE PASAR ESTO...y porque debo instalar los drivers de nuevo cada vez que le doy simular... es así o es mi pc que me quita los driver
En línea
marturetjulio
PIC10F
*
Desconectado Desconectado

Mensajes: 30


« Respuesta #203 : Diciembre 25, 2009, 08:13:49 »

hola amigos intente hacer el codigo que hiso gero en su tutorial pero no me da me genera un error aqui lo posteo para ver si me pueden ayudar...la libreria la lee bien pero al darle al martillito para compilar me genera un error relacionado con el area de texto ..al parecer no la reconoce..espero me pueden ayudar a detectar este error o mejor dicho como solucionarlo

* JavaUSB.rar (11.65 KB - descargado 34 veces.)
En línea
marturetjulio
PIC10F
*
Desconectado Desconectado

Mensajes: 30


« Respuesta #204 : Diciembre 25, 2009, 08:20:24 »

aqui les adjunto una imagen del error como se ve en net beans

* problema en java.JPG (212.98 KB - descargado 34 veces.)
En línea
geronimox
Administradores
PIC18F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1125



WWW
« Respuesta #205 : Diciembre 25, 2009, 09:48:22 »

Buenas!
Creo que el problema de desinstalacion de los drivers se debe a que cuando uno exige demasiado a la simulacion, el proteus no puede simular en tiempo real, y al menos a mi, me trajo varios problemas. Si mal no recuero uno de los problemas que tenia al hacer llegar al 100% a la simulacion usb, era que me lanzaba pantallazos azules, asi que no me pareceria extraño que se corrompiera el puerto usb virtual.

Sobre el error que obtienes en netbeans, estaria bueno que nos mostraras que dice el cartel que aparece al señalar la bolita roja a la izquierda del renglon subrayado de rojo.

Saludos!
En línea

Gero. Divide & Conquer.>----.
^-------------------------------|
-'-------------------------------'
marturetjulio
PIC10F
*
Desconectado Desconectado

Mensajes: 30


« Respuesta #206 : Diciembre 26, 2009, 12:46:14 »

hola amigo gracias por responder aquí te mando las imágenes la primera es cuando posiciono el mouse sobre le bolita roja y el segundo es el mensaje de salida que sale al compilar...en cuanto a lo de proteus si yo pienso que es eso también pero no habrá una forma de solucionar eso.ahora me encuentro tratando de entender el programa en picc...es decir entendiendo las instrucciones de usb que son nuevas para mi...salu2

* error al compilar1.JPG (218.98 KB - descargado 33 veces.)
* error al compilar2.JPG (204.39 KB - descargado 32 veces.)
En línea
marturetjulio
PIC10F
*
Desconectado Desconectado

Mensajes: 30


« Respuesta #207 : Diciembre 26, 2009, 05:01:20 »

hola queria saber si me podian orientar con este programa para el pic...lo que hice fue modificar el programa demo de gero para adaptarlo  que transmitiera el valor del adc...entonces decidi postearlo aqui para que me digan si esta bien...y como podria hacer una programa en java para recibirlo y mostrar ese dato en una area de texto espero  me puedan ayudar y gracias de antemano


//////////////////////////////////////////////////////////
//***** ENVIAR EL VALOR DEL ADC POR EL PUERTO USB********
//////////////////////////////////////////////////
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// CCS Library dynamic defines. For dynamic configuration of the CCS Library
// for your application several defines need to be made. See the comments
// at usb.h for more information
//
///////////////////////////////////////////////////////////////////////////////////////////////////
#define USB_HID_DEVICE FALSE // deshabilitamos el uso de las directivas HID
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK // turn on EP1(EndPoint1) for IN bulk/interrupt transfers
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK // turn on EP1(EndPoint1) for OUT bulk/interrupt transfers
#define USB_EP1_TX_SIZE 32 // size to allocate for the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE 32 // size to allocate for the rx endpoint 1 buffer

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// Include the CCS USB Libraries. See the comments at the top of these
// files for more information
//
///////////////////////////////////////////////////////////////////////////////////////////////////
#include <pic18_usb.h> // Microchip PIC18Fxx5x Hardware layer for CCS's PIC USB driver
#include <header.h> // Configuración del USB y los descriptores para este dispositivo
#include <usb.c> // handles usb setup tokens and get descriptor reports

#define Enciende Output_High
#define Apaga Output_Low
#define Conmuta Output_Toggle
#define RecCommand recbuf[0]
#define LedParam recbuf[1]
#define COMMAND_FIRMWARE 99
#define COMMAND_LEDS 88

const int8 Lenbuf = 32;

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// RAM, RAM, RAM
//
///////////////////////////////////////////////////////////////////////////////////////////////////
char Version[] = "v.1.0";
int8 recbuf[Lenbuf];
int8 sndbuf[Lenbuf];

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// M A I N
//
///////////////////////////////////////////////////////////////////////////////////////////////////
void main(void) {
int adc0;
setup_adc_ports(AN0|VSS_VDD);
SETUP_ADC(ADC_CLOCK_INTERNAL);
SET_ADC_CHANNEL(0);
  delay_ms(500);
  usb_init();
  usb_task();
  usb_wait_for_enumeration();
  enable_interrupts(global);
  while (TRUE){
    if(usb_enumerated()){
      if (usb_kbhit(1)){
        usb_get_packet(1, recbuf, Lenbuf);
        if(RecCommand==COMMAND_FIRMWARE){
          adc0 = read_adc();
          usb_put_packet(1,adc0,1,USB_DTS_TOGGLE);
        }
      }
    }
  }
}
En línea
marturetjulio
PIC10F
*
Desconectado Desconectado

Mensajes: 30


« Respuesta #208 : Diciembre 29, 2009, 03:17:28 »

hola amigos del foro ya logre transmitir el valor del adc con el pic a la pc y recibirlo y mostrarlo en un area de txto igual que como hiso nuestro amigo gero aqui les adjunto el programa del pic que esta bien comentado y el cual es una modificación del programa que gero hiso al principio del tutorial...tambien adjunto el programa en java para la pc y la simulacion del programa en proteus...coloco esto porque asi como gero me ayudo al colocar este post yo quiero ayudar a los que necesiten enviar este tipo de dato a la pc...bueno salu2 a todos espero les sirva de utilidad

* Adc por el usb.rar (37.99 KB - descargado 60 veces.)
En línea
geronimox
Administradores
PIC18F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1125



WWW
« Respuesta #209 : Diciembre 29, 2009, 04:46:35 »

Hola marturetjulio.
Me alegro que hallas solucionado tu problema!
Y que compartas la solucion, ya que es algo que se pregunto varias veces en este post, y va a servirle a mucha gente.
Saludos!
En línea

Gero. Divide & Conquer.>----.
^-------------------------------|
-'-------------------------------'
Páginas: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 »   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.9 | SMF © 2006-2009, Simple Machines LLC XHTML 1.0 válido! CSS válido!

Página creada en 0.346 segundos con 21 consultas. (Pretty URLs adds 0.027s, 2q)