Autor Tema: Pic16F887, comunicación serie  (Leído 611 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado facu13

  • PIC10
  • *
  • Mensajes: 3
Pic16F887, comunicación serie
« en: 03 de Junio de 2019, 01:00:48 »
hola gente, necesito de su ayuda..

Estoy realizando un proyecto, de sensar la velocidad de un motor DC y mostrar la velocidad(RPM)  en PC atraves  de comunicación serie , tengo el modulo CP2102 para la comunicacion.
Una vez comentado esto, mi problema esta en mostrar la velocidad en la PC, por Ejemplo si tengo una velocidad de 60 RPM (en hexa seria 3C) me muestra solamente el 6 y como que el otro dato no lo estoy logrando convertir. Se que tengo que convertir los datos en ASCII para poder visualizarlo y no lo estoy teniendo muy claro, porque si tengo una velocidad superior a 100 RPM no se como mostrarlo ya.

Espero que me puedan ayudar, gracias


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7417
Re:Pic16F887, comunicación serie
« Respuesta #1 en: 03 de Junio de 2019, 08:45:36 »
Te quedan 2 opciones.

O convertis el numero hexa a BCD y lo envias , Esto significa que el micro debe hacer un trabajo extra.
O en tu programa de la PC (no puerto serial) lo conviertas.

Si usas solo un puerto serial entonces la que te queda es la primer opcion.

Desconectado facu13

  • PIC10
  • *
  • Mensajes: 3
Re:Pic16F887, comunicación serie
« Respuesta #2 en: 03 de Junio de 2019, 11:10:44 »
como seria la segunda opción ?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7417
Re:Pic16F887, comunicación serie
« Respuesta #3 en: 03 de Junio de 2019, 11:50:25 »
Depende del lenguaje de programacion en el que realizaste tu programa de la PC. Python, C, etc.

Si esta susando el hyperterminal o alguno parecido, no vas a poder hacerlo, y solo te va a quedar la primera opcion.

Desconectado facu13

  • PIC10
  • *
  • Mensajes: 3
Re:Pic16F887, comunicación serie
« Respuesta #4 en: 03 de Junio de 2019, 12:01:39 »
Ah , hice todo en assembler, estoy realizando la primera opción.

muchas gracias

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1091
Re:Pic16F887, comunicación serie
« Respuesta #5 en: 03 de Junio de 2019, 15:14:32 »
Que tal facu13,

Esciste un algoritmo llamado "double dabble" o "shift-and_add3 algorithm". Este algoritmo es simple de implementar, no es muy rápido pero efectivo. Lo más agradable del algoritmo, es que te perminte convertir cualquier número hexadecimal (8,16, 32 bits ,etc) a su notación BCD.

Aquí te pongo el link del wikipedia donde se explica este algoritmo.

https://en.wikipedia.org/wiki/Double_dabble

elreypic.


 

anything