Autor Tema: RS 232 pic 16f877  (Leído 8401 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado elvysr44

  • PIC10
  • *
  • Mensajes: 15
RS 232 pic 16f877
« en: 22 de Diciembre de 2009, 18:25:24 »
saludos amigos.
Tengo pocas semanas estudiando los pic, he logrado realizar cietas aplicaciones en lenguaje C, actualmente intento enviar un Msj via puerto serial RS232 para leerlo en el hyperterminal, estoy probando con el codigo abajo mencionado y al compilar  recibo este mensaje

Error   [1098] ../../common/printf.c; 14. conflicting declarations for variable "_printf"

esto es utilizando MPLAP IDE7.10 con Hi-Tech V9.7 como compilador, para todo lo demas me ha funcionado pero en este falle, les agradezco toda ayuda que me puedan brindar.
elvysr44@hotmail.com

#include <pic.h>
#include <pic1687x.h>
#include <htc.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=4000000)
#use rs232(baud=2400, xmit=PIN_C6, rcv=PIN_C7, PARITY=N)

void main(void)
{
do
printf("prueba serial");
while(1);
}

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: RS 232 pic 16f877
« Respuesta #1 en: 23 de Diciembre de 2009, 02:02:55 »
#fuses XT,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=4000000)
#use rs232(baud=2400, xmit=PIN_C6, rcv=PIN_C7, PARITY=N)

Estas definiciones no son del HiTech, si no del CCS. Puede ser ese tu problema.
El papel lo aguanta todo

Desconectado elvysr44

  • PIC10
  • *
  • Mensajes: 15
Re: RS 232 pic 16f877
« Respuesta #2 en: 09 de Enero de 2010, 15:39:30 »
Ok amigos, hace varios dias logre el objetivo que buscaba en funcion al rs 232 con el pic16f877, lo relice con las siguientes herramienta: PICC de CCS y simulé con  isis de pruteus v7.x, todo salio calidad, ahora quiero hacer algo parecido pero con el pic16f84a pero al compilar el ccs me dice que no encuentra el archivo 16f84.h a pesar de que estoy seleccionando el pic desde el proyec wizard, lei que ese archivo se carga desde la instalacion del ccs y alli viene el problema yo tengo la version demo, donde consigo el archivo o la version full "GRATIS" tambien acepto otras ideas.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: RS 232 pic 16f877
« Respuesta #3 en: 09 de Enero de 2010, 16:00:21 »
Hola elvysr44


Ok amigos, hace varios dias logre el objetivo que buscaba en funcion al rs 232 con el pic16f877, lo relice con las siguientes herramienta: PICC de CCS y simulé con  isis de pruteus v7.x, todo salio calidad...

una pregunta: ¿que compilador usaste para compilar con el 16f877?

porque el hitech en su modo lite soporta el 16f84a

http://www.htsoft.com/products/compilers/piccpro-modes.php


La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado elvysr44

  • PIC10
  • *
  • Mensajes: 15
Re: RS 232 pic 16f877
« Respuesta #4 en: 09 de Enero de 2010, 16:38:34 »
Hola elvysr44


Ok amigos, hace varios dias logre el objetivo que buscaba en funcion al rs 232 con el pic16f877, lo relice con las siguientes herramienta: PICC de CCS y simulé con  isis de pruteus v7.x, todo salio calidad...

una pregunta: ¿que compilador usaste para compilar con el 16f877?

porque el hitech en su modo lite soporta el 16f84a

http://www.htsoft.com/products/compilers/piccpro-modes.php




ok el hitech soporta el pic16f84a pero no la directrices #use y # rs232 que aparecen en el inicio de este mensaje, y con ellas manejar el 232 es bastante sencillo asi que cambie de compilador por el Picc de CCS.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: RS 232 pic 16f877
« Respuesta #5 en: 09 de Enero de 2010, 20:01:15 »
En el 16F84 en la linea #use RS232 se debe agregar el parámetro force_sw ya que este dispositivo no tiene Hardware UART.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado elvysr44

  • PIC10
  • *
  • Mensajes: 15
Re: RS 232 pic 16f877
« Respuesta #6 en: 10 de Enero de 2010, 13:12:55 »
Ok, pero mi problema actual es que tengo el CCs version demo y a pesar que en el proyec wizhard seleccione el pic 16f84a al compilar se genera un mensaje  de error diciendo que no se encontro el archivo pic16f84.h, mi pregunta es donde consigo esa libreria para adicionarcela a mi ccs o donde consigo la version full GRATIS ?

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: RS 232 pic 16f877
« Respuesta #7 en: 10 de Enero de 2010, 14:14:12 »
La librería es 16f84.h sin la palabra pic. Ya viene incluida en CCS completo. El demo de CCS no la trae.

http://ccsinfo.com/ccsfreedemo.php?navcode=/rhDemo

Ahí puedes adquirir la versión completa.

Desconectado elvysr44

  • PIC10
  • *
  • Mensajes: 15
Re: RS 232 pic 16f877
« Respuesta #8 en: 12 de Enero de 2010, 15:58:50 »
ok muchas gracis por todas sus colaboraciones y valiosos aporte, logre comunicar el pic 16f877 y el 16f84a en fisico " no simulado " con el hyper terminal de mi PC atraves del puerto rs 232, los resultados obtenidos superaron mis espectativas ahora tengo 02 nuevas metas que las describo a continuacion para que me densus sugerencias.

ok recibo datos via 232 de un equipo "A" , los acondiciono y los envio de regreso via 232 a un equipo "B" incluyendo el valor de la hora en la que recibi los datos , la hora es generada por una pequeña rutina que diseñe pero tiene un retardo de 5seg por cada 90min medidos en tiempo real , acontinuacion les dejo  un segmento del codigo.


void crono(void){
delay_ms(1);
mm++;
if (mm>885){
seg++;
mm=0;
}

if (seg>59){
mn++;
seg=0;
}
if(mn>59)
{
hs++;
mn=0;}

if (hs>23){
hs=0;
mn=0;
seg=0;
mm=0;
}
if(hs>=13){
h24=(hs-12);
st="PM";}
else{
h24=hs;
if(hs==12)
st="PM";
else
st="AM";}
}

main(){

if(kbhit()){
gets(pin);///capturo el valor del rs232
cadena();///acondiciono lo recibido
printf("\r una linea de texto \r");
printf("\r%lu : %lu : %lu   %s\r",h24,mn,seg,st);// imprime la hora calculada en crono

y la segunda es que quiero generar una rutina inteligente donde el puerto rs232 del pic se va auto configurar  osea va a auto detectar la velocidad, paridad y largo de la palabra  teniendo como referencia que debe encontrar un cr o cr/lf en la trama recibida en el 232 para conciderar valida la configuracion, ya que el proyecto actual lo tengo trabajando a (9600 8 n 1)

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: RS 232 pic 16f877
« Respuesta #9 en: 12 de Enero de 2010, 18:17:53 »
para el tiempo puedes utilizar la interrupcion del timer1 que te puede dar 1 segundo, es mas preciso y asi te ahorras ese eterno tiempo del delay de 1mS.
saludos
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado elvysr44

  • PIC10
  • *
  • Mensajes: 15
Re: RS 232 pic 16f877
« Respuesta #10 en: 13 de Enero de 2010, 15:51:36 »
para el tiempo puedes utilizar la interrupcion del timer1 que te puede dar 1 segundo, es mas preciso y asi te ahorras ese eterno tiempo del delay de 1mS.
saludos
ok investigare un poco sobre la interrupcion mencionada, mucahs gracias por el aporte