Hola a toda la comunidad, estoy iniciandome en este foro que la verdad al verlo me gusto mucho y quiero felicitarlos a todos porque por ustedes es posible un lugar de provecho como este.
Bueno, pasando un poco a tema. He estado investigando durante vario tiempo en Internet y no he encontrado algo que me saque del apuro. Estoy desarrollando un dispositivo (hardware) de adquisicion de datos, y esos datos los quiero meter a la computadora. Se que esto es relativamente sencillo utilizando el puerto paralelo y / o serial porque ya lo he echo. Pero como todos ustedes saben, estos puertos tienden a desaparecer con la tecnologia USB. Asi que mi peticion es esta, habra alguien que me pueda ayudar enviandome informacion sobre como accesar al puerto USB por medio de alguna libreria, OCX, DLL o quielquier forma.
El lenguaje que utilizo es C++ Builder 6 bajo WinXP. Realmente espero que por aqui si me puedan ayudar.
De antemano muchas gracias por su tiempo y colaboracion.
bueno la verdad lo que es conexion usb es solo uso de librerias, yo utilizo PCW compiler en C, no se que tan parecido sea al que usted utiliza, pero si es programacion en C, supongo que debe ser similar, sin embargo yo no le beo mucha complejidad al asunto, lo unico seria la adquirir y exportar datos que se puede hacer por diferentes software como: labview, matlab, delphi, etc. bueno en fin es saber utilizarlos y adaptarlos o exportar al compilador que se utilise.
un compañero(freddy muñoz) y yo hicimos un proyecto de conexion usb, que consiste en un manipulador robotico, bueno un brazo de 4 grados de libertad y un agarre, el ebjetivo era controlar cada articulacion que son servomotores por medio del pc, utilizamos el compilador de c para pics o PCW y delphi.
a continuacion le mando el encabezado del codigo como un ejempolo para que se guie de como o que librerias se utilizan y esas cosas, todo esta comentariado. mmm otra cosa en el programa hay cosas que sobran ya que es para otro proyecto, sinembargo las coloco como para que usted tenga mas idea y se pueda guiar mas facilmente hacerca de este tema. la parte en donde dice recibe que es una de las mas importantes es cuado tomamos los datos de delphi, es decir el compilador de C recibe los datos del otro sistema que es creo lo que quieres saber en si, pero como ya dije hay que saber utilizar otro programa. por otra parte siquiere edquirir datos externos solo hay que adaptar el codogo en lapeter que mencione, es decir ya no hay la nececidad de utilizar otro software, o si te parece muy complicado utiliza una tarjeta de adqusicion de datos de labview.
bueno aqui esta el ejemplo:_
/////////////////////////////////////////////////////////////////////////
//// PicUSB.c ////
//// ////
//// ////
//// Cuando el dispositivo sea conectado al PC, saldrá el asistente ////
//// para la instalación del driver. Instala el suministrado junto ////
//// a este ejemplo, lo encontrareis dentro de la carpeta Driver. ////
//// Una vez instalado podreis usar el PicUSB.exe para encender o ////
//// apagar el led bicolor del GTP USB, y para realizar la suma de ////
//// dos números introducidos. ////
//// ////
//// BASADO EN: ////
////
http://www.hobbypic.com ////
/////////////////////////////////////////////////////////////////////////
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN
#use delay(clock=48000000)
//#include <flexlcd.h>
/////////////////////////////////////////////////////////////////////////////
//
// 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 1 //tamaño para la tx del buffer endpoint 1
#define USB_EP1_RX_SIZE 3 //tamaño para la rx del buffer endpoint 1
/////////////////////////////////////////////////////////////////////////////
//
// If you are using a USB connection sense pin, define it here. If you are
// not using connection sense, comment out this line. Without connection
// sense you will not know if the device gets disconnected.
// (connection sense should look like this:
// 100k
// VBUS-----+----/\/\/\/\/\----- (I/O PIN ON PIC)
// |
// +----/\/\/\/\/\-----GND
// 100k
// (where VBUS is pin1 of the USB connector)
//
/////////////////////////////////////////////////////////////////////////////
//#define USB_CON_SENSE_PIN PIN_B2 //CCS 18F4550 development kit has optional conection sense pin
/////////////////////////////////////////////////////////////////////////////
//
// 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 <Usb_proyect.h> //Configuración del USB y los descriptores para este dispositivo
#include <usb.c> //handles usb setup tokens and get descriptor reports
/////////////////////////////////////////////////////////////////////////////
//
// Al conectar el PicUSB al PC encendemos el Led Rojo hasta que el dispositivo
// halla sido configurado por el PC, en ese momento encederemos el Led Verde.
// Esperaremos hasta que se reciba un paquete proveniente del PC. Comprobaremos
// el primer byte del paquete recibido para comprobar si queremos entrar en el
// modo Suma, donde se realizará una suma de dos operandos, que corresponderan
// con los dos bytes restantes del paquete recibido; una vez realizada la suma
// enviaremos el paquete con el resultado de vuelta al PC. Si entramos en el
// modo Led comprobaremos el segundo byte del paquete recibido para comprobar
// si deberemos apagar los leds, encender el verder o el rojo.
//
/////////////////////////////////////////////////////////////////////////////
#define LEDV PIN_C0
#define LEDR PIN_C1
#define LED_ON output_high
#define LED_OFF output_low
#define modo recibe[0] //se define el buffer recibe de tañaño 3
#define num recibe[1]
#define secu recibe[2]
#define resultado envia[0] //se define el buffer envia de tamaño 1
en esta parte tengo que agradecerle y derle los creditos al ingeniero ilber ruge ya que el fue el que nos ayudo al desarrollo de este proyecto.
espero que le sea de ayuda esta explicacion y si quiere informacion hacerca del tema material bibliografico aqui esta mi correo
hhryc7@hotmail.com
ahora es que yo tambien necesito ayuda en un tema, es que quisiera aprender a manejar bien matlab si alguen me pudiera ayudar le agradeceria mucho.