USB con labview

No mpusbapi.dll funciona bajo el metodo bulk de transferencia de datos. En cambio HID funciona bajo protocolo de transmisión de datos a baja velocidad.
 
gracias por responder jhonatan, veo que has posteado sobre usb, ahora me encuentro trabajando sobre usb clase hid, utilizando unas funciones de win32 (handles) para ello. Pero ahora me ha surgido un problema y no se en que parte del foro ponerla, me sale el error 0000h con el icprog y el winpic, he revisado si el mclr, la configuracion, cuando leo el pic salen 00000 0000 0000 lo cual indica que esta previamente grabado, quiero volver a grabarlo pero no se deja, sigue saliendo el error 0000h, como si puedo grabar un pic 16f628 creo que se debe a la alimentacion, voy a probar con otro quemador y otro pic.

me gustaria saber como volver a grabar un pic protegido

ritos
 
Holaaaa... pss... iintente hacer los proyectos que estan aqui descritos.... pero al final la PC no me reconocia el dispositivo... que podra ser el problema?
 
Hola Rijiru...

Te anexo un archivo ZIP que contiene un pdf que explica con más detalle la implementación del software del PIC y ahí mismo se encuentra el diagrama esquemático, se incluye el código del PIC en CCS <<daq.c>> y archivo demo en LabView 8.2 <<daq.vi>>. Espero tus comentarios.
 

Adjuntos

  • daq_138.zip
    601.4 KB · Visitas: 1,127
Muchas gracias, lo que pasó es que no habia cambiado el archivo del descriptor, en donde se reconoce el vendor.... todo bien, funciono muy bien, :D
 
hola a todos me podrian orientar un poco he hecho un pequeno proyecto en proton y labview 8.5 pero con un poco de dificultad lo he logrado pero mi pregunta es que diferencia hay en usar el dll que da microchip y el easyhid que nos da proton o microcode
 
Hola, yo estoy trabajando con PSOC Y utilizo el protocolo usb hid, tengo una librería del PSOC que ya configura todo, cargarla en Labview sería posible? Nunca he trabajado con Labview y no sé cómo funciona. Trabajo con Visual C# pero tengo problemas para realizar gráficas en tiempo real.

Gracias
 
Hola buen día, mi nombre es Gaby soy estudiante de ingenieria en electrononica.

Oye solo que tenemos muchas dudas yo y mi compañera de proyecto, acerca de la comunicación serial por medio de Labview y un pic 18f2550

Mira tenemos un programa que realizamos en MikroC para la comunicación utilizando un cable serial. La comunicación fue un éxito utilizando la herramienta UART que nos ofrece el MikroC, el problema aquí es que el profesor nos pidió que hiciramos el mismo programa pero ahora implementando Labview.

No somos muy buenas utilizando el Labview pero lo intentamos. Hicimos una interfaz en labview 8.6, sabemos que si envia y recibe el datos ya que conectamos el cable serial e hicimos un puente en los pines 2 y 3, con esto observamos que la comunicacion serial con los Visa si funciono, pero, al conectar nuestra placa con el pic no hace lo que queremos, se supone que tenemos programado el pic para que encienda un led medio segundo cuando haya comunicacion serial. Sabemos que si le llega algo por que enciende el led pero no sigue con el proceso que queremos que haga.

No sabemos si el problema esta en el codigo de mikroc o en la
interfaz del labview.
Estamos mas inclinadas al hecho de que sea el código en mikroc, debido a que no estamos muy seguras de la comparación que se hace con la ventana de mikroc donde antes realizábamos las practicas y que hemos cambiado por la interfaz creada por nosotras en labview, que en caso del serial seria en mikroc TOOLS/USART Terminal y con eso ya aparece esta ventana que reemplazamos, he de ahí donde sale la parte del código que creemos que reemplazar porque en el archivo de .h , nosotros lo llamamos UART1_Read() o en UART1_Write(), entonces para utilizar la interfaz del labview ¿cual seria?

Crees que podrias ayudarnos, te paso el código que tengo en mikroc , para que lo revises y nos digas si puedes ayudarnos.

De antemano muchisimas gracias por tu tiempo. :cry:

Codigo MikroC
char uart_rd;

void main() {

ADCON1 |= 0x0F; //Configura AN pins as digital
CMCON |= 7; // Disable comparators
TRISB=0;
TRISC=0;
UART1_Init(9600); // Initialize UART module at 19200 bps
Delay_ms(100); // Wait for UART module to stabilize

UART1_Write_Text("GRACIAS");
PORTC.B0=0;
PORTC.B1=0;
PORTC.B2=0;

while (1) { // Endless loop
if (UART1_Data_Ready()) { // If data is received,
uart_rd = UART1_Read(); // read the received data,

PORTB.B1=1;
Delay_ms(500);
PORTB.B1=0;



while (uart_rd == 'E' ) {
if (uart_rd =='E')
{
PORTC.B0=1;
PORTC.B1=0;
PORTC.B2=0;
Delay_ms(750);

PORTC.B0=0;
PORTC.B1=0;
PORTC.B2=0;
Delay_ms(750);

PORTC.B0=1;
PORTC.B1=0;
PORTC.B2=0;
Delay_ms(750);

PORTC.B0=1;
PORTC.B1=1;
PORTC.B2=0;
Delay_ms(2000);

PORTC.B0=1;
PORTC.B1=0;
PORTC.B2=0;
Delay_ms(750);

PORTC.B0=1;
PORTC.B1=0;
PORTC.B2=1;
Delay_ms(1000);



UART1_Write(uart_rd);

uart_rd = UART1_Read();

if (uart_rd =='M') {

PORTC.B0=0;
PORTC.B1=0;
PORTC.B2=0;

break;
}

}
}
UART1_Write(uart_rd); // and send data via UART
}
}
}
 
Pues dasofortunadamente para nosotras si tiene que ser en Labview, ya vez como son los maestros de especiales.... Pero crees tu que podrias ayudarnos???

Gaby dijo:
Pues dasofortunadamente para nosotras si tiene que ser en Labview, ya vez como son los maestros de especiales.... Pero crees tu que podrias ayudarnos???

Creemos que también podría ser que no funciona la comunicación con el PIC por que no convertimos el dato que mandamos de labview a ASCII para que el PIC entienda la comunicacion...
 
Última edición:
Y yo les podría ayudar pero el que tiene más claro el tema es meta en cuanto al puerto serie...mandale un privado a ver que te dice ..yo igual de labview no se nada ...en todo caso en VB.net , Visual C++ o Visual C# podría ayudarte..
 
Hola me llamo Diana y he venido trabajando comunicaci÷on USB con labview para mi proyecto de grado todo funciona perfecto pero estoy transmitiendo un ADC de solo 8 bits y mi proyecto requiere mayor resolucion, necesito transmitir a 10 bits. YA he hecho las modificaciones necesatrias a la funcion de nodo de labview pero me gustariasaber que debo modificar en las librerias del usb para lograrlo. Gracias
 
Para transmitir 10 bit's tenés que usar 2 elementos dentro del buffer de salida en vez de uno.

Código:
int conversion; // Variable de 16 bits que guarda la conversión.

conversion = read_adc() // Lee muestra de 10 bits.

buffer_salida[1] = (conversion >> 8) // parte baja de la conversión.
buffer_salida[2] = conversion // parte baja de la conversión.

Luego en el programa del host haces una función union para obtener el dato completo.
 
Oye gracias es una solucion mucho mas sencilla pues yo estaba intentando modificar la funcion que envia los paquetes y modificando la configuracion de los datos recibidos en la fucion de nodo. Gracias
 
hola a todos, estoy buscando asesoria en un proyecto que estoy haciendo,,es un electrocardiografo, ya tenemos la señal cardiaca ok, necesitamos mostrarla en labview. ya tenemos la emulacion del puerto rs232 por medio de un pic 18f4550 y funciona bien, ahora lo que necesitamos es introducir la señal analoga del electrocardiografo a un pic para ser digitalizada y enviarla serialmente al puerto usb que se comporta como serial...alguien tiene un ejemplo de como debo programar mi pic para que me digitalize la señal y la envie de forma serial al usb??

tambien necesito ayuda en como ver la señal que entra a la computadora en un chart de labview, no se ni un centimo de labview y estoy


-l:confused:

les agradezco cualquier asesoria,,,saludos
 
hola quisiera saber como hacer el pic usb y hacer enlace con labview pero paso a paso para saber como configurarle y eso tengo un proyecto que presentar y no tengo la menor idea de como hacer eso..
 
Atrás
Arriba