TODOPIC
Microcontroladores PIC => RTOS => Mensaje iniciado por: jeremylf en 01 de Noviembre de 2011, 04:51:54
-
Ya que últimamente se habla mucho de los RTOS (Sistemas operativos en tiempo real), decidi a meterme a estudiar un poco este tema para estar al día :mrgreen:. Por otro lado, siempre quise hacer una aplicacion USB en modo HID por no-necesidad de un driver en particular.
De esta forma, he usado el RTOS del propio compilador CCS (en su version 4.112) junto con el PIC18F4550 con su USB embebido en modo HID. Todo esto en la placa de desarrollo PICDEM FS USB Demo Board (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en021940) de Microchip.
La aplicacion que le e dado es muy sencilla, a travez de la aplicación en la PC (echa en Visual C# 2008) controlo el estado de tres LEDs con tres botones para cada uno, alternando su estado cada vez que se aprieta. También, se ve la temperatura en tiempo real que sensa el sensor de temperatura TC77 de microchip.
Tambien, decir que lo he probado en el proteus 7.8 SP2 y ha funcionado bien, eso si, hay que instalar su Virtual USB.
Finalmente, todo lo necesario esta en el ultimo link (megaupload) y el diagrama (aunq no exactamente mostrado en el proteus) es mejor verlo del propio PICDEM FS USB: http://ww1.microchip.com/downloads/en/devicedoc/51526a.pdf (http://ww1.microchip.com/downloads/en/devicedoc/51526a.pdf)
Links de gran ayuda para la realizacion de este proyecto:
RTOS CCS: http://www.todopic.com.ar/foros/index.php?topic=15876.0 (http://www.todopic.com.ar/foros/index.php?topic=15876.0)
Magnifica explicación del amigo reiniertl sobre los RTOS en general y sobre el RTOS del CCS en particular.
USB HID: http://www.forosdeelectronica.com/f24/control-dispositivos-traves-modulo-usb-pic18f2550-17458/ (http://www.forosdeelectronica.com/f24/control-dispositivos-traves-modulo-usb-pic18f2550-17458/)
Gran aporte sobre control USB (HID, CDC,..) con el PIC18F4550 y softwares echos en Visual Basic, C#,... Es de aqui donde he podido entablar una comunicacion USB HID con mi aplicación y mi hardware.
TC77: http://www.todopic.com.ar/foros/index.php?topic=31591.0 (http://www.todopic.com.ar/foros/index.php?topic=31591.0)
Rutinas para el manejo de este sensor en CCS.
Los ejemplos que trae el CCS sobre RTOS y sobre USB HID son, también, altamente recomendados.
IMAGEN:
(http://img20.imageshack.us/img20/2205/dscf3971f.th.jpg) (http://imageshack.us/photo/my-images/20/dscf3971f.jpg/)
Uploaded with ImageShack.us (http://imageshack.us)
VIDEO: (Con una secadora de cabello cambio el valor de la temperatura del sensor :lol:)
Proyecto:
http://www.megaupload.com/?d=VM3DLRUV (http://www.megaupload.com/?d=VM3DLRUV)
Espero, sirva de ayuda. Un saludo :-/
-
Magnífico proyecto, muy ilustrativo. Gracias Jeremy.
Lo voy a usar como punto de partida para una aplicación USB HID que tengo pendiente.
-
Gracias Manolo, que bien que te sirva.
-
Un excelente trabajo Jeremy!!!
:-/
-
hola
podrían volver a subir el proyecto, ya que megaupload no existe.
saludos!
-
VIDEO: (Con una secadora de cabello cambio el valor de la temperatura del sensor :lol:)
Proyecto:
http://www.megaupload.com/?d=VM3DLRUV (http://www.megaupload.com/?d=VM3DLRUV)
hola
podrían volver a subir el proyecto, ya que megaupload no existe.
saludos!
-
A que otro lado lo puedo subir? El del foro no admite mas de 256KB.
-
A que otro lado lo puedo subir? El del foro no admite mas de 256KB.
Sí, te estoy esperando
muchas gracias
-
Decia que no conocia otro lugar en donde alojarlo, pues solo he usado megaupload siempre. Pero ya me cree en rapidshare:
https://rapidshare.com/files/2830883091/PIC18F4550.rar
En MediaFire tambien:
http://www.mediafire.com/?o1xygz2m8m7pf7v
PD: Quisiera actualizar esto en el post principal pero no puedo modificar :(
-
A que otro lado lo puedo subir? El del foro no admite mas de 256KB.
Te iba a decir que uses http://www.filehosting.org/ pero veo que ya te las arreglaste jeje. Muchas gracias por compartirlo Jeremy!!
Saludos!!
-
A que otro lado lo puedo subir? El del foro no admite mas de 256KB.
Te iba a decir que uses http://www.filehosting.org/ pero veo que ya te las arreglaste jeje. Muchas gracias por compartirlo Jeremy!!
Saludos!!
Me guie por los que tiene wikipedia: http://es.wikipedia.org/wiki/Alojamiento_de_archivos
Parece que ahi no sale el filehosting. Pero ya que estamos en esto, tambien en filehosting :mrgreen::
http://www.filehosting.org/file/details/325840/PIC18F4550.rar
Gracias Gera!
-
En primer lugar le agradezco mucho
Tengo un problema con usbhid desconecte siempre?
y utilizar el software para EasyHID c # y no el software de soporte de C #
cómo llegó a usarlo
-
No entiendo tu problema.
-
No entiendo tu problema.
buenas noches
que me puede enseñar cómo enviar y recibir datos de usb?
y cómo el software que utilizo?
C # y EasyHID
si como yo quiero
-
Estoy intentando abrir este proyecto con Visual Studio 2010, y al pulsar el botón de conectar me lanza este error:
Se ha intentado cargar un programa con un formato incorrecto. (Excepción de HRESULT: 0x8007000B)
He intentado crear un proyecto desde cero, y al incluir la mcHID.dll no permite hacerlo, he buscado esa libreria para la versión de mi IDE, pero no la encuentro.
Alguna idea???
Saludos!!!
-
Bueno, encontré un ejemplo que parece funcionar con VS 2010 (http://www.waitingforfriday.com/index.php/Open_Source_Framework_for_USB_Generic_HID_devices_based_on_the_PIC18F_and_Windows#writeRawReportToDevice.28.29). Pero no hace buenas migas con el programa en CCS de este hilo, no pasa por el if:
......
if (usb_kbhit(1))
{
usb_get_packet(1, in_data, 32);
......
osea que no le llegan datos, sino pasaria por ahí, independientemente de como llegasen los datos. Por el if previo a este:
if (usb_enumerated())
{
si pasa, con lo cual considero la instalación der driver correcta, así como conectado y activado el canal correspondiente en el master USB del PC.
En cuanto al código en C#, he seguido los pasos del linc anterior, pero no envia nada, estoy usando la función "fncSendFreqHz()", para encender un LED.
Dejo todo adjunto, no sé cual puede ser el error, por mas que busco. A ver si alguien puede echarme una mano.
Saludos!!!
-
Bueno, conseguí hacerlo andar según este hilo:
http://www.todopic.com.ar/foros/index.php?topic=43964.0
Ahora ocurre otra cosa, si en el firmware inabilito siempre la tarea de envio de temperatura para que el PIC no envie datos, no funciona correctamente. Lo que ocurre es que en el otro sentido PC-->PIC tampoco se envian los datos, y en ocasiones se pierde la conexión.
¿es necesario que el PIC envie siempre datos, para que el PC sepa que está activo? o ¿estoy haciendo algo mal en la aplicación del PC?
Saludos!!!
-
Estoy intentando abrir este proyecto con Visual Studio 2010, y al pulsar el botón de conectar me lanza este error:
Se ha intentado cargar un programa con un formato incorrecto. (Excepción de HRESULT: 0x8007000B)
He intentado crear un proyecto desde cero, y al incluir la mcHID.dll no permite hacerlo, he buscado esa libreria para la versión de mi IDE, pero no la encuentro.
Alguna idea???
Saludos!!!
Mira lo poco q se de programacion. Eso tiene que ver con tu compu ya q es de 64 y la aplicacion esta hecha en 32bits. Si tenes una compu de 32 probala y andara de 10 aplicacion. La otra opcion es abrirlo con visual studio y correrlo en tu sistema de 64bits. suerte