• Martes 5 de Noviembre de 2024, 15:35

Autor Tema:  Pic 16f873  (Leído 2417 veces)

denial

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Pic 16f873
« en: Viernes 3 de Junio de 2005, 17:17 »
0
Mi primera pregunta es si el PIC 16F873 necesita de un nivelador de tension para poder conectarce a la PC.
En mi proyecto, necesito recibir datos (caracteres ASCII) serialmente , los voy procesando a medida que estos van llegando, y voy formando una cadena sobre la que tambien tengo que tener control al momento de procesar los datos. Terminado este proceso tengo que segmentar y enviar esta cadena a un modulo GSM  también por el puerto serial. Quisiera que me pudieran ayudar con el manejo de esta cadena, ya que se trata de una cadena muy grande.

carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Re: Pic 16f873
« Respuesta #1 en: Viernes 3 de Junio de 2005, 22:35 »
0
Yo usé el MAX-232 para la comunicación serie y funcionó perfectamente.  No se si será necesario... pero a mi me funcionó.
Un saludo.
No hay tonto más molesto que el ingenioso.

© Jonathan ©

  • Moderador
  • ******
  • Mensajes: 1671
  • Nacionalidad: ar
    • Ver Perfil
    • http://www.einstec.com.ar
Re: Pic 16f873
« Respuesta #2 en: Sábado 4 de Junio de 2005, 03:00 »
0
Es necesario usar el MAX232 porque hay que nivelar las tensiones, la comunicacion sin MAX funciona entre microcontroladores, para la comunicacion hacia el PC es necesario utilizarlo. Cuando termines las conexiones verifica la comunicacion utilizando el hiperterminal o algun programita para recibir los datos. Cuando hayas llegado a eso comenzamos con las dudas sobre la cadena de datos. Saludos :)
EINSTEC Tecnología «La única fuente del conocimiento es la experiencia.»

«Lo importante es no dejar de hacerse preguntas.»

luisromero

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Pic 16f873
« Respuesta #3 en: Viernes 1 de Julio de 2005, 18:43 »
0
ademas de usar max232 tambien puedes usar una interfax optiva para tener menos riesgo de dañar el pc y te brinda mucha mas seguridad :smartass:  :smartass:

oldkami

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Pic 16f873
« Respuesta #4 en: Martes 5 de Julio de 2005, 21:37 »
0
Si la cadena es muy grande y la "procesas" en la medida que van llegando los datos debes tener en cuenta las siguientes cosas:

1. el tiempo de "procesamiento" del dato no puede superar el tiempo de transmision de 2 bytes (maximo tamaño de buffer del 16F873), de lo contrario corres el riesgo de un overflow.

2. si el tiempo de "procesamiento" de un dato necesariamente es mayor a lo indicado anteriormente, debes usar interrupciones y almacenar todos los datos en un buffer de recepción. (manejar un proceso en background). el proceso principal ira sacando los datos del buffer y los procesara sin temor de perdida de datos.

3. si no conoces o tienes experiencia en interrupciones, aprendelas ¡ :) o utiliza control de flujo por hardware. sera más lenta la operación conjunta, pero cumplira su cometido.

4. si la cadena de datos es muy grande como para almacenarla en la memoria del PIC, debes pensar la opción de utilizar una memoria auxiliar, ten encuenta que un bloque de memoria (consecutiva) utlizable de un PIC 16F873 tiene un maximo de unos 110 bytes (110h-17F).

Suerte
 Oldkami

oldkami

  • Miembro activo
  • **
  • Mensajes: 50
    • Ver Perfil
Re: Pic 16f873
« Respuesta #5 en: Martes 5 de Julio de 2005, 21:41 »
0
perdon, un bloque de memoria (consecutiva) utlizable de un PIC 16F873 tiene un maximo de unos 96 bytes (A0h-FF).