Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

28/05/2011 #41


leonardo19 pudiste solucionar tu problema?. Me ocurre algo muy parecido a ti, en transmisión bulk la simulación funciona perfecto, pero a la hora de conectar la placa a la pc, no hay comunicación entre matlab y el pic. Alguna idea de que puede estar pasando?. El programa que le cargo al pic es exactamente el mismo que el de la simulación que funciona
31/05/2011 #42


Ya esta listo, lo que pasaba es que el compilador CCS estaba generando un .hex malo y na quedaba bien quemado el PIC pero lo reinstale nuevamente y ahora si funciona, y hasta puedo meterlo en un bloque de simulink y graficarlo en un scope
04/06/2011 #43


Gracias por tu respuesta leonardo19, te comento que en mi caso, el pic no se comunica correctamente con matlab en windows seven (lo probé con el ultimate de 32 bits, no se las demás versiones), sin embargo no hay ningún inconveniente en windows xp. Sinceramente desconozco la razón, si alguien tiene idea de que puede estar pasando, le agradeceré la información.
05/06/2011 #44


Hola, leonardo19, graficas los datos en tiempo real en simulink?, podrias explicarnos como haces para introducir los datos en simulink y graficarlos.
06/06/2011 #45


Lo que hago simplemente es crear una funcion en un archivo .m y luego lo llamo desde el simulink con el bloque matlab function, y se corre la simulacion en simulink con el tiempo de simulacion en inf=infinito, acontinuacion les posteo el programa en matlab


function salida=funcion(entrada)
global data_in data_out
loadlibrary mpusbapi _mpusbapi.h alias libreria

data_in = eye(1,1,'uint8');
data_out = eye(1,1,'uint8');

vid_pid_norm = libpointer('int8Ptr',[uint8('vid_04d8&pid_000b') 0]);
out_pipe = libpointer('int8Ptr',[uint8('\MCHP_EP1') 0]);
in_pipe = libpointer('int8Ptr',[uint8('\MCHP_EP1') 0]);

[Esta_conectado] = calllib ('libreria','MPUSBGetDeviceCount', vid_pid_norm);

if(Esta_conectado)

data_out=uint8(entrada);

[my_out_pipe] = calllib('libreria','MPUSBOpen',uint8(0), vid_pid_norm,out_pipe, uint8(0), uint8 (0));
[my_in_pipe] = calllib('libreria','MPUSBOpen',uint8(0), vid_pid_norm,in_pipe, uint8 (1), uint8 (0));


calllib('libreria', 'MPUSBWrite',my_out_pipe, data_out, uint8(1), uint8(1), uint8(10)); % Se envia el dato al PIC
[aa,bb,data_in,dd] = calllib('libreria', 'MPUSBRead',my_in_pipe, data_in, uint8(1), uint8(1), uint8(10));


salida=double(data_in)*5/255;

calllib('libreria','MPUSBClose',my_in_pipe);
calllib('libreria','MPUSBClose',my_out_pipe);
end

end
06/06/2011 #46


Lo probare, muchas gracias.
04/08/2011 #47

Avatar de hackmanice

Monte el mismo circuito funciona la parte del adc pero la parte de los leds me puden ayudar a verificar que esta sucediendo. Me pueden informar si el cristal para este circuito es de 20Mhz o 45Mhz, gracias
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.