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

Temas similares

27/11/2009 #681

Avatar de george.manson.69

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
lo uso para detectar cuando se conecta el USB a la computadora!!!
y caundo se desconecta el USB este me detecte que se desconecto,
...
usas un capacitor electrolitico o ceramico en el pin VUSB?
estoy usando uno ceramico....como tienes el esquema..me lo podrias poner para ver que tengo mal...y si tengo una resistencia en Vpp...y un capacitor s eme olvido ponerlo en el esquema..jejejje...saludos!!
30/11/2009 #682


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
george.manson.69 dijo: Ver Mensaje
lo uso para detectar cuando se conecta el USB
usas un capacitor electrolitico o ceramico en el pin VUSB?
estoy usando uno ceramico....como tienes el esquema..me lo podrias poner para ver que tengo mal...y si tengo una resistencia en Vpp...y un capacitor s eme olvido ponerlo en el esquema..jejejje...saludos!!
Un electrolítico de 47 uF.
Saludos.
30/11/2009 #683


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Hola buenas, tengo el siguiente problema al realizar una interrupcion por timer con el pic 18f4550 aver si alguien puede ayudarme a encontrar el problema. El problema es que el timer interrumpe un nº muy bajo de veces (17 veces en mi caso) y se queda sin interrumpir mas,no consigue llegar al final del contador (0xff). el esquema que tengo es el siguiente:

Código:
   int32 const num_int=0xff;
   int32 tiempo=0;
   int8 modo_sleep;

#int_timer1
void diezsegundos()
   {
      if (tiempo>num_int)
         {
            modo_sleep=false;               
            tiempo=0;
         }
      else
         {
            modo_sleep=true;
            tiempo++;
         }
      clear_interrupt(int_timer1);
   }



void main(void) 
   setup_timer_1(t1_internal | t1_div_by_8);
   set_timer1(0);
   enable_interrupts(int_timer1);
   enable_interrupts(GLOBAL);  

while (TRUE)
   {
   while (modo_sleep)
      {
         sleep();
      }

   // RESTO DE PROGRAMA

   

   }
Gracias de antemano.
30/11/2009 #684

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Este hilo habla sobre el puerto USB y sus aplicaciones , por favor si fueras tan amable de abrir un hilo de discución propio sobre tu problema.
01/12/2009 #685


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
amigos me hace falta salir de una duda:que ventaja tiene programar en c para pic y no en esamblador. mi pregunta es si puedo hacer lo mismo que hago en ensamblador lo puedo hacer en c para pic.Yo se que en ensamblador es mas dificil programar el usb pero tiene que tener sus ventajas, yo se algunas , pero necesito el criterio de algunos de ustedes. gracias de antemano.lo pregunto porque yo programo el usb en ensamblador puro con datasheet y el standard en la mano .
01/12/2009 #686

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Y si tenés ejemplos hechos en ensamblador con USB bunísimo...las ventajas es que con ensamblador vos sabés y tenés control de lo que hace el micro en cada momento...aunque hay cosas muy complicadas como tratamiento de arrays...funciones matemáticas y demás cosas que en ensamblador es demasiado complejo de hacer.
02/12/2009 #687


Muchas gracias
Ya eh entendido mas el concepto del C, pero tengo problemas en conseguir el CSS, no sabras donde esta disponible alguna pagina por ejemplo, Muchas gracias por el tema.
02/12/2009 #688


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Hola, Moyano Jonathan!

En primer lugar excusa la falta de hablar español (es traducida por Google), en segundo lugar, me gustaría decirles que este post sobre HOST / USB / PIC es magnífico.
En su primer ejercicio, me di cuenta de que muchas veces si se selecciona la misma opción (por ejemplo, 'x') y luego seleccionar la opción de otra ( 'a') falta de respuesta a la primera vez (que se muestra "Se recibe el caracter x") .
¿Sabes por qué sucede esto?

Gracias,
CManl
Portugal
03/12/2009 #689


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
hola a todos, está genial este post, yo tengo buenos conocimientos de programacion pero lo que es soldar, mas bien pocos, si alguno me indica donde podría conseguir una placa para el PIC18F2550 que tenga conector usb y a poder ser algo que permita conectar facilmente un cable a los pines de e/s del pic, me interesaria poder controlar una serie de reles y recibir informacion de un par de sensores, necesito conectarlo al pc para visualizar el estado de los puertos del pic y modificar en tiempo real algunos parametros.

Les agradeceria que me dijesen donde puedo conseguir una placa de este tipo y, si hay alguien que se maneje bien con un estañador, no me importaria pagarle para que me haga la placa (que me envie un privado), repito que de soldar ando muy mal.

Un saludo a todos.
08/12/2009 #690


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
saludos moyano? he estado haciendo mas ejemplos del HID basados en tus ejemplos
pero me he encontrado con un problema y es ke solo puedo enviar 2 bytes
mi pregunta es donde tengo ke modificar los descriptores para poder enviar mas de 2 bytes
08/12/2009 #691

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Hola paulo , como estás los descriptores los tenés que modificar tanto en el programa del pic como en el programa para la PC...Un saludo !
08/12/2009 #692

Avatar de Hernan83

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Y Jonathan? para cuando el manual completo de USB,esta muy bueno la verdad,y sobre todo porque apuntas al Visual Basic 2009.Saludos!
09/12/2009 #693

Avatar de Meta

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Eso, eso. jejeje

Cuando te sientas en su piel, te darás cuenta que también tiene obligaciones y vida social.
09/12/2009 #694

Avatar de Hernan83

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Es verdad,yo tambien ando con finales para dar,y me engancho mucho a hacer cosas que es mas divertido que estudiar a veces. Aunque sea que lo tenga para el arbolito : )
09/12/2009 #695

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
jaajjaajj me recibí el lunes...asi que estoy mas liberado ahora....el gran tema es que se me rompió la notebook y voy a tener que usar la computadora de la familia pero buee...de a poco lo voy a ir haciendo o terminando mejor dicho.

Y si como dice meta....las obligaciones y la vida social (asados, mujer, amigos y demás) demandan un cierto tiempo. Pero no se preocupen que yo no prometo en vano si dije que lo iba a terminar lo voy a terminar
10/12/2009 #696


Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Moyano Jonathan dijo: Ver Mensaje
jaajjaajj me recibí el lunes...asi que estoy mas liberado ahora....el gran tema es que se me rompió la notebook y voy a tener que usar la computadora de la familia pero buee...de a poco lo voy a ir haciendo o terminando mejor dicho.

Y si como dice meta....las obligaciones y la vida social (asados, mujer, amigos y demás) demandan un cierto tiempo. Pero no se preocupen que yo no prometo en vano si dije que lo iba a terminar lo voy a terminar
Enhorabuena che! Felicitaciones! Ingeniería E. no?
Saludos.
10/12/2009 #697

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
No. me recibí de tecnico electromecánico ( Me dieron el título que lo amerita ) ....estoy estudiando para entrar en ingeniería.
14/12/2009 #698

Avatar de Moyano Jonathan

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Hola a todos
Como había citado antes voy a proseguir con mi manual sobre el puerto USB y el control de dispositivos mediante USB.
Como he tenido muy poco tiempo con todas las cosas q he tenido que hacer el manual quedó de lado ..pero he comenzado mis vacaciones de verano asi que voy a seguir con esto a ver si puedo terminarlo

Lo primero que quedó pendiente desde antes de que dejara todo fue el pasaje de todos los ejemplos de VB 2005 a VB.net y VC# 2008, Así que ahora vamos a comenzar con la ayuda de ustedes a pasar los programas uno por uno.

Como varios de mis conocimientos se borraron cuando formateé mi computadora debido a un virus que le entró a mi máquina, voy a necesitar de su ayuda para poder ver algunos tips de programación que no me acuerdo.

Vamos a empezar con el sistema de emulación CDC usando un PIC18F2550, programación en C de CCS y Programación en VC# y VB.net para la PC.

Como hardware usaré mi entrenador USB.

El programa que se desarrollará tendrá los siguientes elementos:

- Detección automática de puertos y selección de puerto a utilizar mediante un ComBox.
- Envio y recepción de datos : Control de 8 cargas y Lectura de 8 entradas.
- Lectura de 3 entradas analógicas.
- Vizualización de datos desde el PIC: Mensajes y alertas así como debug de la programación.
- Conexión y desconexión del puerto en caliente.

Yo comenzaré desde mañana con el desarrollo del programa y de a poco lo iremos desarrollado en conjunto con toda la documentación que estará en el manual.

Luego seguiremos con las otras formas de comunicación.

Un saludo !

Los programas serán código abierto para que cualquiera pueda añadir sus ideas al proyecto para poder mejorarlo ...asi también los ejemplos los compilare para .net frameworck 2.0 para winXP ...también funcionará en vista y en windows 7
14/12/2009 #699

Avatar de Meta

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
Me alegro que tengas tiempo y sigas adelante. En estos momentos estoy haciendo la versión V2 del PicRS232.

Voy a intentar ayudar en C# y después lo pasamos a VB .net si le interesa.

He logrado hacer la detección del puerto serie hasta los virtuales, no se si en USB es un tema diferente.




El programa que se desarrollará tendrá los siguientes elementos:

- Detección automática de puertos y selección de puerto a utilizar mediante un ComBox.

En puerto serie lo tengo hecho. Averiguaré si USB es algo parecido.

Código:
#region Configurar puerto serie.

        private void SeleccionCambiada(object sender, EventArgs e)
        {

            // Deberemos añadir un control de excepciones si queremos capturar posibles errores



            // Para reasignar valores... primero cerrar el puerto
            serialPort1.Close();

            // Asignar los nuevos Settings
            serialPort1.BaudRate = Convert.ToInt32(comboBox_bits_por_segundo.Text);
            try
            {
                serialPort1.DataBits = Convert.ToInt16(comboBox_bits_de_datos.Text);
            }
            catch (FormatException)
            {
                //label_info.Visible = true;
                //label_info.Text = "No se usa este parámetro.";
            }
            serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), comboBox_paridad.Text);
            serialPort1.Handshake = (Handshake)Enum.Parse(typeof(Handshake), comboBox_control_de_flujo.Text);

            try
            {
                serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), comboBox_bits_de_parada.Text);
            }
            catch (ArgumentOutOfRangeException)
            {
                // No se puede poner None.
                //label_info.Visible = true;
                //label_info.Text = "Inválido al introducir el valor 'None'.";
            }

            serialPort1.Open();


        }
        #endregion

        private void comboBox_puerto_com_SelectedIndexChanged(object sender, EventArgs e)
        {
            serialPort1.Close();
            serialPort1.PortName = comboBox_puerto_com.SelectedItem.ToString();
            serialPort1.Open();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Asignar las Velocidades seleccionables al Combo
            object[] Velocidades = { 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 };
            comboBox_bits_por_segundo.Items.AddRange(Velocidades);

            object[] BitData = { 8, 7, 6 };
            comboBox_bits_de_datos.Items.AddRange(BitData);

            // Asignar Paridades Seleccionables desde la enumeracion
            foreach (string s in Enum.GetNames(typeof(Parity)))
            {
                comboBox_paridad.Items.Add(s);
            }

            // Asignar Bits de datos seleccionables desde la enumeración.
            foreach (string b in Enum.GetNames(typeof(SerialData)))
            {
                comboBox_bits_de_datos.Items.Add(b);
            }

            // Asignar Paridades Seleccionables desde la enumeracion
            foreach (string p in Enum.GetNames(typeof(StopBits)))
            {
                comboBox_bits_de_parada.Items.Add(p);
            }

            // Asignar control de flujo Seleccionables desde la enumeracion.
            foreach (string c in Enum.GetNames(typeof(Handshake)))
            {
                comboBox_control_de_flujo.Items.Add(c);
            }

            // GetPortNames, nos devuelve un array con los nombres
            // de los puertos instalados en nuestro equipo.
            String[] Ports = SerialPort.GetPortNames();
            comboBox_puerto_com.Items.AddRange(Ports);


            // Seleccionar los items por defecto
            comboBox_bits_por_segundo.SelectedIndex = 4; // Empieza con el 9600 como predeterminado.
            comboBox_bits_de_datos.SelectedIndex = 0; // 8.
            comboBox_paridad.SelectedIndex = 0; // None o ninguno.
            comboBox_bits_de_parada.SelectedIndex = 2; // One o 1.
            comboBox_control_de_flujo.SelectedIndex = 0; // None o ninguno.
            comboBox_puerto_com.SelectedIndex = 0;

            // Abrir el puerto serie con los items por defecto
            SeleccionCambiada(sender, e);

            // Asignar la funcion a ejecutar por disparo de evento al cambio de indice en el combobox
            comboBox_bits_por_segundo.SelectedIndexChanged += new System.EventHandler(SeleccionCambiada);
            comboBox_bits_de_datos.SelectedIndexChanged += new System.EventHandler(SeleccionCambiada);
            comboBox_paridad.SelectedIndexChanged += new System.EventHandler(SeleccionCambiada);
            comboBox_bits_de_parada.SelectedIndexChanged += new System.EventHandler(SeleccionCambiada);
            comboBox_control_de_flujo.SelectedIndexChanged += new System.EventHandler(SeleccionCambiada);
            comboBox_puerto_com.SelectedIndexChanged += new System.EventHandler(SeleccionCambiada);

            // Cargar los datos del XML.
            Cargar_XML();
        }


- Envio y recepción de datos : Control de 8 cargas y Lectura de 8 entradas.

¿Te refieres con Visual C# o VB .net? En ese sentido espero que venga alguien o lo resolvemos entre todos pero debes ser más técnico.

- Lectura de 3 entradas analógicas.

No me he metido en ese campo.

- Vizualización de datos desde el PIC: Mensajes y alertas así como debug de la programación.

Explicado en la página 163 del manual. Descargar ejemplo aquí.

- Conexión y desconexión del puerto en caliente.

mmmmmmmm...

Ganas de aprender muchas, conocimientos pocos...

A ver si todos y todas aportamos algo, ese algo se convertirá en grande.

Saludo.
14/12/2009 #700

Avatar de jokelnice

Respuesta: Control de dispositivos a través del módulo USB del PIC18F2550
me le apunto yo tambien ahora tengo tiempo , me le apunto a transferencia modo bulk , con vb.net ,c# y labview
¿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.