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

Temas similares

12/10/2012 #2121


Necesito bajar la frecuencia del cpu ya que con esa frecuencia el lcd no muestra nada y es debido a la longitud del cable ya que pude comprobar montándolo en protoboard que a esa velocidad el display funciona bien y al trabajar a una frecuencia menor con el mismo cable el lcd también funciona perfectamente. Lamentablemente tengo que trabajar con una longitud grande de cable, y preferiría no tener que acortarlo
12/10/2012 #2122


ospidera dijo: Ver Mensaje
Bueno, agradezco a todos por sus aportes, por fin he logrado conectar el puerto virtual de proteus para simular mi programa y por fin entendí el funcionamiento del los dercriptos y su relación con el driver que proporciona microchip, descargen los driver sirven a la perfección para win7 sin tener que hacer mas que lo que moyano y otros han aprotado, agradezco enormemente su colaboración y tiempo

Si tienen dudas con gusto yo tambien les podré colaborar!!!

---------- Actualizado después de 3 minutos ----------

ospidera dijo: Ver Mensaje
Buena tarde para todos, bueno aquí ya es tarde, soy nuvo preguntando en el foro (ya habia visto muchos aportes interesantes), tengo una pregunta que la verdad no se si el el hilo para hacerla y adicionalmente por tiempo no he podido chekar mas el foro, entiendo bastantes coas de la comunicación usb para pic pero me falta lo mas importante, quiero hacer la comunicación virtual para visualizar en proteus pero me encuentro con un problema del driver, he tratado de buscar en la web y la verdad enuentro muchas cosas hechas pero quiero entenderla.

1°) como hago para el driver?? tengo que hacerlo??
2°) hay que modificar los descriptos y he probado varias versiones de CCS y la verdad hay variaciones y no se en donde modificarlo ¡¿que gano l modificarlo? y donde encuentro la lista de los códigos por fabricante??
3°)hablan de muchas cosas como por ejemplo un archivo .inf para que sirve???

La verdad quiero entender muy bien esto pero requiero de su ayuda.

Bueno, agradezco a todos por sus aportes, por fin he logrado conectar el puerto virtual de proteus para simular mi programa y por fin entendí el funcionamiento del los dercriptos y su relación con el driver que proporciona microchip, descargen los driver sirven a la perfección para win7 sin tener que hacer mas que lo que moyano y otros han aprotado, agradezco enormemente su colaboración y tiempo Si les puedo colaborar con algo con mucho gusto
12/10/2012 #2123

Avatar de Moyano Jonathan

Necesito bajar la frecuencia del cpu ya que con esa frecuencia el lcd no muestra nada y es debido a la longitud del cable ya que pude comprobar montándolo en protoboard que a esa velocidad el display funciona bien y al trabajar a una frecuencia menor con el mismo cable el lcd también funciona perfectamente. Lamentablemente tengo que trabajar con una longitud grande de cable, y preferiría no tener que acortarlo
Te digo que la librería del LCD no tiene nada que ver con la velocidad del microcontrolador, las temporizaciones para visualizar los datos las determinas vos..y el compilador las calcula en función de la frecuencia.
15/10/2012 #2124


Finalmente pude solucionar mi problema acortando un poco los cables, sin embargo debo reconocer que poniendo en los fuses:
#fuses XTPLL,USBDIV,PLL1,PUT,CPUDIV4,VREGEN,NOWDT,NOPROTE CT,NOLVP,NODEBUG
#use delay(clock=24000000)
La pc seguía reconociendo al dispositivo usb aunque no hice pruebas para saber si el cpu del micro realmente trabajaba a una frecuencia mas baja
15/10/2012 #2125


Alguien ha probado los archivos que subi el otro dia?? sigo con el mismo problema, solo responde los primeros segundos de conectarlo.

---------- Actualizado después de 14 minutos ----------

Si antes lo digo antes lo apaño. Era por el usb_cdc_getc() no lo estaba usando bien.
19/10/2012 #2126


Buenas

tengo un problema en la comunicacion CDC al momento de enviar datos, en mi programa tengo un vetor int distance[6] que me contiene numeros enteros y eso lo quiero enviar a la PC y lo intente enviar de diferentes maneras por ejemplo: usb_cdc_putc(distance), printf(usb_cdc_putc,distance), hasta incluso creando un ciclo que envie el dato de cada posicion uno por uno, pero mi aplicacion de escritorio se cuelga. solo me recive cuando envio una palabra asi printf(usb_cdc_putc,"hola")
y bueno quisiera alguna sugerencia de que puedo hacer

Que tal, bueno me dado cuenta que estado usando mal el putc guiandome en un ejemplo de moyano lo he hehco de esta manera printf(usb_cdc_putc,"%Lx",distance[0]) prara recivir el primer numero per de todos modos se me cuelga el VB ahora pienso que talves el problema sea del VB aqui les pongo el codigo de VB de la parte donde recive el dato

Private Sub Leer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Leer.Click
Dim uno As Char
Dim lectura As String
uno = "a"
SerialPort1.Write((uno))
lectura = SerialPort1.ReadLine()
Distancia.Text = lectura
End Sub
20/10/2012 #2127


saludos apreciados foristas:

felicitaciones a Moyano Jonathan por su gran trabajo, quisiera tu me ayudaras con un proyecto que estoy realizando sobre una prototipadora 3d, la idea es controlar 4 motores paso a paso bipolares a traves de puerto usb y reconozca una interfaz grafica que son estadar en estas maquinas como la rep rap
( interfaz grafica de makerbot o la interfaz grafica pronterface). No se por donde empezar, como hago para que el pic 18f4550 o el 18f2550 reconozaca la interfaz grafica pronterface y ejecute toda las intrucciones que le envie a los motores paso a paso, gracias por su ayuda
26/11/2012 #2128


Control de dispositivos a través del módulo USB del PIC18F2550
netma dijo: Ver Mensaje
Alguien ha probado los archivos que subi el otro dia?? sigo con el mismo problema, solo responde los primeros segundos de conectarlo.

---------- Actualizado después de 14 minutos ----------

Si antes lo digo antes lo apaño. Era por el usb_cdc_getc() no lo estaba usando bien.
Soy nuevo por estos lares,mi consulta es para Netma si puedes subir el código funcionando para poder entender el error ,desde ya muchas gracias
26/11/2012 #2129


Tengo un problema y es que en proteus me sirve pero a la hora de montar el circuito no me sirve, el pc no me reconoce el pic cuando lo conecto a un puerto usb, alguien me podría ayudar
29/11/2012 #2130


Hola alberto, el problema que estaba teniendo yo era que no me hacia a la idea de que si mandaba varios bytes desde el pc de esta manera:

(vb)
SerialPort1.Write(1)
SerialPort1.Write(2)

A la hora de leerlos debia hacerlo tambien asi desde el pic:

(CCS)
dato1=usb_cdc_getc();
dato2=usb_cdc_getc();


Ahora comentar que soy incapaz de mandar datos del pic al pc, he probado mil maneras y soy incapaz.
Supuestamente tengo este codigo en ccs:

int8 envio[];
envio[0]=8;
usb_put_packet(1,envio,1,USB_DTS_TOGGLE);


Y el VB 2008 tengo lo siguiente:

Dim prueba() As Byte
prueba(0) = SerialPort1.ReadByte

y se queda a la espera de recibir datos pero no recive nada de nada.
he probado con readbyte, con read, readexising, readchar..... y nada de nada. Ya estoy desesperado porque tiene que ser una chorrada pero no lo veo!

---------- Actualizado después de 11 minutos ----------

braser, lo que necesitas es el driver para proteus y tener instalado el virtual usb que viene con proteus, en unas paginas atras estan los drivers que usé yo y funcionaron.
30/11/2012 #2131


Imposible, he probado todo, con usb_cdc_putc.... y lo maximo que consigo es que haga amago de enviar algo pero no manda nada el pic.
en el visor usb del proteus se ve el paquete que envia,pero se queda en estado pendiente y no contiene nada.
30/11/2012 #2132


hola amigos necesito ayuda para simular usb en windows 7 a 64 bits le instale los divers y me dice algo asi como que windows no lo soporta gracias de antemano...
09/12/2012 #2133


Duda
Muy buenas Noches,

De antemano quiero agradecerles a todos los que han participado en este foro tan increíble y de aprovechar para poder seguir investigando y desarrollando nuevas cosas; Moyano muchas gracias por todas sus tutorías y paciencia e igual a todas las personas que han ayudado a que esto siga adelante. Tengo una duda y es que por mi parte deseo usar el pic18f2550 con un bootloader de internet (Neo-teo), creo que es bien reconocido, para poder programar este pic directamente por USB y que también sea posible usar el USB con HID desde visual 2010, la verdad lo intente por aparte el bootloader como la programación en visual y sirven muy bien, pero a la hora de poner el bootloader en el pic y quemar el programa para el usb, este simplemente no hace nada, pero nada.... el código en el pic fue el siguiente:

Código:
#include <18f2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)
#include <pic18_usb.h>

#include <Descriptor_easyHID.h>
#include <USB.c>
#include <usb_bootloader.h>//Para que sirva el bootloader en "teoria"
#use fast_io(b)
#use fast_io(c)


void USB_debug(){

    output_high(PIN_C7); // Enciende el led error y apaga el led USB_OK.
    output_low(PIN_C6);
    usb_wait_for_enumeration(); // Espera a ser enumerado por el host.
    output_low(PIN_C7); // Enciende el led USB_OK y apaga el led USB_ERROR.
    output_high(PIN_C6);  
}

void main()
{
   
   int8 recibe[32];
   set_tris_b(0xF0);
   output_b(0x00);
   set_tris_c(0b00111100);
   output_low(PIN_C0);
   output_low(PIN_C1);
   usb_init();
   usb_task();
   USB_debug();
   
   while(1)
   {
   
   
      if(usb_enumerated())
      {
         
      
         if (usb_kbhit(1))
         {   
            
            usb_get_packet(1,recibe,32);
            
            if(recibe[0]==0x0A){
            
               switch(recibe[1])
               {
                  case 0x01:
                  output_toggle(PIN_B0);
                  break;
                  case 0x02:
                  output_toggle(PIN_B1);
                  break;
                  case 0x03:
                  output_toggle(PIN_B2);
                  break;
                  case 0x04:
                  output_toggle(PIN_B3);
                  break;
               
               }
            
            }
            
         
         }
      
      }
   
   }

}
El programa recibe datos del visual y lo que hace es según el botón seleccionado enciende un led en el puerto RB.


Muchas gracias por la atención y de antemano algún comentario para posible solución sería de gran ayuda...
18/12/2012 #2134


Hola que tal moyano, te queria hacer la siguiente pregunta, bueno antes que nada te comento un poco mi problema y lo que estoy aciendo, estoy controlando 8 salidas PWM desde la computadora por el modulo USB bulk, mediante estas salidas controlo 8 servos y funciona a la perfeccion, pero como el PWM se esta manejando con la interrupcion del timer0, mis entradas analogas no reaccionan bien es decir no funcionan de buena manera, nose si sepas de alguna interrupcion para las entradas analogas o la conexion a usb en verdad nose lo que este fayando, pero ese es mi problema espeor puedas ayudarme.....
18/12/2012 #2135


Hola compañeros, a ver si alguien sabe porque pasa esto:
como codigo en el pic tengo lo siguiente:
Código:
printf(usb_cdc_putc, "Usb correctamente conectado\r\n");
Y en VB recibo de la siguiente manera.
Código:
recep = SerialPort1.ReadExisting()
De esta manera la variable string recep queda vacia, pero si hago esto otro con un vector.
Código:
            SerialPort1.Read(prueba, 0, 3)
 recep = SerialPort1.ReadExisting()
Prueba me coge el valor "U" y recep coge "sb correctamente conectado"

PORQUE!?? no me lo explico
19/12/2012 #2136


Bueno, ya lo he apañado.
Por si alguno le interesa que no veo mucho movimiento por aqui. Lo he apañado con un readline()
24/01/2013 #2137


Hola Moyano Jonathan muy bueno todo!! Te queria preguntar si por las dudas pudiste usar la mcHID.dll en Visual C++ 2008? estoy tratando con la ClassHid.dll http://www.micros-designs.com.ar/pra...n-visual-c-05/ pero no logro hacerlo funcionar :(. Me parece que lo mas practico seria usar mcHID.dll por eso te lo pregunto.

Saludos
24/01/2013 #2138

Avatar de Moyano Jonathan

Hola Moyano Jonathan muy bueno todo!! Te queria preguntar si por las dudas pudiste usar la mcHID.dll en Visual C++ 2008?
Nunca lo he probado. Un saludo !
11/02/2013 #2139

Avatar de Rijiru

Buen dia, estaba viendo este proyecto por que me interesa hacer un bridge USB to RS232, pero, tengo un problema, desde la PC envio un dato al PIC y en la salida UART del PIC(independientemente de lo que envio por USB) obtengo un '+'(0x2B), el codigo en la sección main está asi:

do
{
usb_task();
if (usb_enumerated())
{ // Si el puerto ya fue enumerado por el host :
if(usb_cdc_kbhit())
{
data=toupper(usb_cdc_getc());
putc(data);
}
}

La misma aplicación la probe con el COM virtual de X-CTU y no tuve problemas.

Saludos
15/02/2013 #2140


Hola miborbolla, me baje tu zip.rar y vi que es un proyecto de base de datos supongo
No se si tendrás los demás datos, clases, métodos, y eso que es de c#.
Agradecería si tenes que me lo pases para practicarlo.
Gracias de ante mano. mpereyra1
políticas@delforo.com


¿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.