Autor Tema: Puedo al Programar en C agregarle parte de Asembler  (Leído 1374 veces)

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

Desconectado morfeocool

  • PIC10
  • *
  • Mensajes: 1
Puedo al Programar en C agregarle parte de Asembler
« en: 23 de Febrero de 2012, 21:51:13 »
Hola amigos , recien comienzo en esto de programacion en c para pic antes lo hacia en asembler, resulta que me pasaron un codigo en c de un 16f877 que esta funcionando y hay que agregarle una conexion serial, yo la tengo resuelta en asm para un pic16f84a, sera posible que le agregue esto al c o debere modificar todo Ayuda por favor :-/

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Puedo al Programar en C agregarle parte de Asembler
« Respuesta #1 en: 23 de Febrero de 2012, 22:47:34 »
Hola, suponiendo que el programa está hecho en CCS agregar comunicación es bastante sencillo, le agregas a tu programa lo siguiente

#use rs232(baud=4800, xmit=pin_b1,rcv=pin_b0), por ejemplo uno puede escoger los pines

putc(13); para enviar
variable = getc(); para recibir

Saludos

Desconectado irukza

  • PIC12
  • **
  • Mensajes: 87
Re: Puedo al Programar en C agregarle parte de Asembler
« Respuesta #2 en: 24 de Febrero de 2012, 13:10:03 »
no hay ningun problema en mezclar código c con asembler, sólo debes revisar el manual del compilador que usas para ver como se hace.
Por ejemplo, para C18 y hi-tech (creo)

tu código c

_asm
   tu código assembler
_endasm

tu código c

suerte
« Última modificación: 24 de Febrero de 2012, 15:04:25 por irukza »

Desconectado tuxon

  • PIC10
  • *
  • Mensajes: 15
Re: Puedo al Programar en C agregarle parte de Asembler
« Respuesta #3 en: 24 de Febrero de 2012, 13:34:02 »
como dice diego  amigo la comunicacion es muy sencilla

y tal como l a puso el la verdad es la formas mejor de usarse





#int_rda//interrumpcion por rs232
void recibir_del_232(void)//crear una funcion para realizar esta operacion
   {
    char x;// se declara una variable donde se va aalmacenar tu dato
   int y,w;
     while(1){
     if(kbhit())       //queda a la espera de recebir un dato
       x=getc();}       //recibo mi dato y o guardo en x
     }