Autor Tema: MatLab y USB  (Leído 37606 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3595
MatLab y USB
« en: 11 de Octubre de 2008, 10:03:02 »
Necesito para un proyecto de investigación realizar la conexión entre MatLab en un portátil y un sistema de adquisición de datos mediante un PIC o dsPic, ¿Alguien a trabajado este punto y a conseguido la comunicación que no sea por emulación de un puerto serie RS232?.
« Última modificación: 11 de Octubre de 2008, 10:13:02 por jfh900 »
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
Re: MatLab y USB
« Respuesta #1 en: 11 de Octubre de 2008, 10:32:12 »
Creo que matlab implementa funcionalidad VISA, que es un estándar para sistemas de instrumentación.
Yo hice funcionar el usb del pic bajo VISA,pero en labview.

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: MatLab y USB
« Respuesta #2 en: 26 de Octubre de 2008, 09:15:02 »
Jesús te dejo aquí este link, no lo he utilizado nunca pero creo que es lo que necesitas:

http://www.codeproject.com/KB/DLL/MatlabGenericDll.aspx?df=100&forumid=26247&exp=0&select=972623

un saludo!

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: MatLab y USB
« Respuesta #3 en: 30 de Octubre de 2008, 14:09:55 »
Yo lo intenté con las funciones de MATLAB para cargar DLLs, sin embargo, no conseguí hacerlas funcionar :S.
Si alguien tiene éxito me gustaría lo comentara, y si no, este fin de semana me daré un tiempo para volver a intentar :).
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: MatLab y USB
« Respuesta #4 en: 30 de Octubre de 2008, 14:47:07 »
¿que librería intentaste usar?

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: MatLab y USB
« Respuesta #5 en: 30 de Octubre de 2008, 16:22:33 »
La DLL MCHPUSB de Microchip, la versión anterior (no la que incluye soporte para Windows Vista), la que está compilada con Borland C, y también una que encontré compilada con VC.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: MatLab y USB
« Respuesta #6 en: 31 de Octubre de 2008, 13:43:39 »
Alguien tiene los fuentes de la librería mpusbapi.dll, ya que no consigo que funcione adecuadamente en MatLab y necesito ver que ocurre en el interior de la librería.

Un saludp
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: MatLab y USB
« Respuesta #7 en: 01 de Noviembre de 2008, 09:17:55 »

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: MatLab y USB
« Respuesta #8 en: 01 de Noviembre de 2008, 10:25:04 »
Gracias Jaime por la respuesta, cada día esta uno más cegato.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: MatLab y USB
« Respuesta #9 en: 01 de Noviembre de 2008, 13:15:07 »
hola... 
Yo lo intenté con las funciones de MATLAB para cargar DLLs, sin embargo, no conseguí hacerlas funcionar :S.
Si alguien tiene éxito me gustaría lo comentara, y si no, este fin de semana me daré un tiempo para volver a intentar :).
yo he podido usar unas dll que habia creado por VC++ sin ningun problema con MatLab para comunicarme con otro programa, que paso con las mpusbapi.dll...?
ahora que me acuerdo MatLab trabaja con C, las mpusbapi hay que cargar de archivo cabecera el la _mpusbapi.h (la que contiene al principio de las funciones extern "C" __declspec(dllexport)
) que son las que permiten trabajar en c.
Saludos
LAS MALVINAS SON ARGENTINAS!

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: MatLab y USB
« Respuesta #10 en: 01 de Noviembre de 2008, 14:24:15 »
El fichero _mpusbapi.cpp con la versión 1.1.0.0 si he conseguido su fuente, pero el fichero de cabecera _mpusbapi.h no lo tengo.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: MatLab y USB
« Respuesta #11 en: 01 de Noviembre de 2008, 14:54:37 »
aca esta... pero la version 1.00 hay que modificarlo  si es que cambiaron los parametros de las funciones o agregaron funciones en la nueva version...
 saludos  :)
LAS MALVINAS SON ARGENTINAS!

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: MatLab y USB
« Respuesta #12 en: 01 de Noviembre de 2008, 14:56:39 »
Jesús, tienes que ver en el manual del Matlab cuál convención de llamada acepta, si es _cdecl ó _stdcall

(si es _stdcall, tendrás que recompilar la dll a esa convención)

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: MatLab y USB
« Respuesta #13 en: 01 de Noviembre de 2008, 15:01:03 »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: MatLab y USB
« Respuesta #14 en: 01 de Noviembre de 2008, 15:11:52 »
yo a las funciones de mi libreria las declare como ejemplo una
Código: [Seleccionar]


BOOL WINAPI DllMain(HANDLE hModule,
                        DWORD  fdwReason,
                        LPVOID lpReserved ){

// Perform actions based on the reason for calling.
    switch( fdwReason )
    {
    case DLL_PROCESS_ATTACH: 
        // Initialize once for each new process.
        // Return FALSE to fail DLL load.         
        connection=new ModaCPP::Connection(true);
       
        break;

     case DLL_PROCESS_DETACH:       
        // Perform any necessary cleanup.
delete connection;
        break;   
    }

 
        return TRUE;
} // funcion main que tienen todas las dll o puede tener otro nombre...



// y asi declare las funciones

extern "C" __declspec(dllexport) void desconectar();




extern "C" __declspec(dllexport) void desconectar(){

connection->Disconnect();
   
}

asi como estan esta funcionando mi dll con matlab por supuesto que tiene otras funciones...
LAS MALVINAS SON ARGENTINAS!


 

anything