Control de dispositivos a través del módulo USB del PIC18F45/2550

No, hay diferencias muy grandes..

C es un lenguaje libre estandarizado por ISO MUY PEQUEÑO que admite programación estructurada (la de toda la vida), nada más. Útil en programación de microchips, sistemas operativos, drivers y programación web... Poco más.

C++ es un lenguaje libre estandarizado por ISO MUY GRANDE, que admite: Programación estructurada (la de toda la vida), la totalidad de la POO (objetos, herencia simple, herencia múltiple, polimorfismo, upcasting, downcasting, RTTI, interfaces, clases abstractas, clases amigas, operadores, sobrecarga... y mil cosas más avanzadas), programación genérica (plantillas, STL, conceptos de contenedores, estructuras de datos genéricas, <b>metaprogramación</b>... es una programación que no dispone ningún otro lenguaje mayoritario por el momento)... y otras características más avanzadas como los punteros inteligentes, programación lambda, programación "física"... También se usa como programación por eventos (MFC, Qt, Gtk y otras GUIs). Se usa para cualquier cosa, desde sistemas operativos hasta los juegos 3D de última generación pasando por servidores, pasando por las típicas aplicaciones de escritorio o un Office o OpenOffice, un reproductor WinAMP y Windows Media Player, un explorador web (Internet Explorer, Mozilla, Firefox...), un cliente eMule, un cliente Torrent.

No podés crear aplicaciones Win32 en C.

Un saludo !
 
nesesito un ejemplo en visual studio ya se el 2008 o el 2010 para comunicacion usb usando HID ya que no entinedo como se dectecta el micro
por ejemplo la compu ya me detecta el micro pero la parte de visual no la entiendo bien
 
nesesito un ejemplo en visual studio ya se el 2008 o el 2010 para comunicacion usb usando HID ya que no entinedo como se dectecta el micro
por ejemplo la compu ya me detecta el micro pero la parte de visual no la entiendo bien

Por favor lee el primer post del hilo y vas a poder bajar justo lo que necesitas.

Un saludo !
 
No, hay diferencias muy grandes..

C es un lenguaje libre estandarizado por ISO MUY PEQUEÑO que admite programación estructurada (la de toda la vida), nada más. Útil en programación de microchips, sistemas operativos, drivers y programación web... Poco más.

C++ es un lenguaje libre estandarizado por ISO MUY GRANDE, que admite: Programación estructurada (la de toda la vida), la totalidad de la POO (objetos, herencia simple, herencia múltiple, polimorfismo, upcasting, downcasting, RTTI, interfaces, clases abstractas, clases amigas, operadores, sobrecarga... y mil cosas más avanzadas),


El C++, quiere decir evolución del C, ++ quiere decir incrementar, cuando le pones a una variable por ejm:
i=1;
i++; //lo que tiene en i = 2.

Si se puede hacer uso del C para win32, en Visual C++, pero te complicas la vida un montón no tienes todas las virtudes del c++, como es el POO. lo que puedes hacer con el C++ en pocas lineas de código se te convertirán en cientos de lineas con el C.
 
Amigo, el C y C++ se nota muchísimo, hay mucha expliación por Internet sobre los dos, si no se nota mucho, no lo harían. ;)

Por eso, desde hace años la comunidad Linux, quieren que pase de C a C++ para el sistema operativo, porque es más eficiente. El creador dejó claro que odia el C++, está acostumbrado al C.

Por otra parte, el C/C++ estandar no se actualiza desde el 1998 y las empresas crea muchas librerías para ellas mismas. ¿Qué es lo que quieres hacer ahora?
Muchos países se están poniendo de acuerdo para sacar una nueva normativa del nuevo C/C++ más actualizado.

http://freedevel.sibbuc.com/2009/01/nuevo-estandar-de-c-para-este-ano/

Este año empezaré un buen pie con Visual Basic Express en clase. No me gusta ese lenguaje para programar, pero aprendo algo.

Saludo.
 
hola tengo el pic 18f4550 progrmado en mikrobasic el computador me reconoce como hid debo hacer un interfaz en java para comunicarme con el pic si me pueden orientar como hacerlo de java no se mucho
 
Es que aquí no se trata de Java, a pesar de que se parece mucho a C#, buscas las librerías de Java sobre comunicación del puerto USB que están por ahí.
 
Bueno, no sé como seguir con esto. Voy a intentar armar un dispositivo HID desde cero (con este hilo) y ver que pasa. Gracias por la ayuda, y cualquier cosa volveré a preguntar.
 
Bueno, no sé como seguir con esto. Voy a intentar armar un dispositivo HID desde cero (con este hilo) y ver que pasa. Gracias por la ayuda, y cualquier cosa volveré a preguntar.
Disculpá que no te haya podido ayudar con C++ no es mi fuerte...si querés hacerlo en C# mi manual te va a servir como guía.
Un saludo !
 
rar.gif
ejercicio_n1_174.rar (47,8 KB (Kilobytes), 4820 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part01.rar (1,91 MB (Megabytes), 940 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part02.rar (1,91 MB (Megabytes), 611 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part03.rar (1,91 MB (Megabytes), 569 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part04.rar (1,91 MB (Megabytes), 566 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part05.rar (1,91 MB (Megabytes), 546 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part06.rar (1,91 MB (Megabytes), 564 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part07.rar (1,91 MB (Megabytes), 563 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part08.rar (1,91 MB (Megabytes), 559 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part09.rar (1,91 MB (Megabytes), 555 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part10.rar (1,91 MB (Megabytes), 551 visitas)
rar.gif
Control de dispositivos por USB [ HID + Visual C# ].part11.rar (740,2 KB (Kilobytes), 570 visitas)
 
Hola gente del foro, me pregunto si alguna vez hicieron algo con usb y algun PIC pero que el programa del lado de la pc sea el Matlab ya que posee una gran cantidad de funciones para el manejo de señales como implementacion de filtros digitales, modulacion de señales, transformadas de fourier, graficas y la posibilidad de escuchar señales de audio, entre otras. Ademas posee la posibildad de importar librerias como por ejemplo alguna dll para trabajar la coneccion USB con el PIC.

Bueno me surguio esa duda ya que el Matlab lo usan mucho en ingenieria.

Un abrazo y saludo a la gente de este gran foro.
 
Última edición:
Hola gente del foro, me pregunto si alguna vez hicieron algo con usb y algun PIC pero que el programa del lado de la pc sea el Matlab ya que posee una gran cantidad de funciones para el manejo de señales ...

Hola Daniel, yo estoy haciendo la comunicación PIC-Labview vía USB (modo Bulk).
Labview también tiene todo tipo de funciones para tratar señales y además incorpora la posbilidad de usar código de Matlab. Por otro lado, tiene la ventaja de poder armar la interfaz gráfica de manera más sencilla e intuitiva que mediante Matlab.

PD: un consejo a aquellos que se inicien en C#, no se olviden de "ofuscar" el ejecutable al compilarlo, sino cualquiera va a poder acceder al código fuente del mismo (siempre y cuando no deseen que esto suceda).

Saludos
 
Última edición:
Hay muchos temas de obfuscación del ejecutable y dll en el .net. Aún así se puede saber el código fuente porque se puede hacer la ingeniería inversa, sólo que cuesta más. Es bueno obfuscar, claro que no será al 100 % efectivo. El que quiera tu código lo tendrá, sobre todo si es pequeño, ejjee.
 
Hace poco estube buscando por la web algun ejemplo de matlab con USB y encontre estos ejemplos en la pagina de Matlab hechos por el Ing. Gabriel Pool, creo si mal no recuerdo eran para una catedra. Yo lo unico que hice fue la simulacion para Proteus de ambos ejemplos y alguna modificacion minima en el codigo, ambos funcionan bien, salvo el ejemplo 1 que a veces me reinicia la PC y no se a que se debe. Ambos trabajan con la mpusbapi de microchip.
Queria pasar estos ejemplos al modo HID, lo del codigo del PIC ya lo pude hacer; pero la parte de matlab no encuentro la forma de usar las funciones de la mcHID.dll o la HID.dll, no se como pasar las funciones desde matlab, me tira error la funcion calllib de matlab cuando quiero ejecutar GetVendorID por ejemplo. Supongo que debe ser porque le estoy pasando mal los parametros ya que no se bien que pasarle, o porque no se si lleva la libreria *.h como estos ejemplos.
Un abrazo a la gente del foro.
Si logro algo lo subo.
 

Adjuntos

  • Ej 1 con Matlab.rar
    228.1 KB · Visitas: 118
  • Ej 2 con Matlab.rar
    409 KB · Visitas: 119
Tengo un problema...
Estoy intentando confugurar un 18F4455 para que trabaje a 48MHz con un cristal de 4MHz, pero no me funciona....

esta es la confuguracion que le tengo en CCS 4.114 para prender y apagar los puertos con intermitencia de un segundo, pero cuando lo simulo en proteus y lo monto en protoboard con el cristal de 4MHz ese segundo pasa a ser 12 segundos....

Código:
#include <18F4550.h>

#FUSES NOWDT                     //No Watch Dog Timer
#FUSES WDT128                    //Watch Dog Timer uses 1:128 Postscale
#FUSES PLL1                      //No PLL PreScaler
#FUSES CPUDIV1                   //No System Clock Postscaler
#FUSES USBDIV                    //USB clock source comes from PLL divide by 2
#FUSES XT                        //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES FCMEN                     //Fail-safe clock monitor enabled
#FUSES IESO                      //Internal External Switch Over mode enabled
#FUSES NOPUT                     //No Power Up Timer
#FUSES NOBROWNOUT                //No brownout reset
#FUSES BORV27                    //Brownout reset at 2.7V
#FUSES VREGEN                    //USB voltage regulator enabled
#FUSES NOPBADEN                  //PORTB pins are configured as digital I/O on RESET
#FUSES LPT1OSC                   //Timer1 configured for low-power operation
#FUSES MCLR                      //Master Clear pin enabled
#FUSES STVREN                    //Stack full/underflow will cause reset
#FUSES NOLVP                     //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES ICPRT                     //ICPRT enabled
//#FUSES NOXINST                   //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES NODEBUG                   //No Debug mode for ICD
#FUSES NOPROTECT                 //Code not protected from reading
#FUSES NOCPB                     //No Boot Block code protection
#FUSES NOCPD                     //No EE protection
#FUSES NOWRT                     //Program memory not write protected
#FUSES NOWRTC                    //configuration not registers write protected
#FUSES NOWRTB                    //Boot block not write protected
#FUSES NOWRTD                    //Data EEPROM not write protected
#FUSES NOEBTR                    //Memory not protected from table reads
#FUSES NOEBTRB                   //Boot block not protected from table reads

#use delay(clock=48000000)
//#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1)
Que sera lo que estoy haciendo mal????
 
Atrás
Arriba