TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: IMASD en 10 de Septiembre de 2011, 02:26:05
-
hola que tal a todos
me acabo de registrar en el foro y aun ando algo perdido
sabrian mostrarme algun ejemplo de comunicacion pic pc
en donde el pic reciba varios datos
lo que necesito ver es algun ejemplo de como el pic sabe cuando un dato le llega a la usart y es direccion
y cuando le llega otro y sabe que es un dato para procesarlo
ando un poco perdido en esto de las estructuras de protocolo
muchas garacias
un saludo
-
Hola amigo, esto es un ejemplo sencillo, en el foro hay demasiados ejemplos.
saludos.
#include <16F876A.h>
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6,rcv=pin_c7) //Configuración del puerto
//rs232; a 4mhz solo acepta 4800 bps
//Se puede configurara otro pin como TX
//pero como RX solo C7
#fuses xt,put,brownout,nowdt
#byte portb=6
///////////////////////////////////////////////////////////////////////////////
#int_rda //Vector de interrupcion de la recepcion de datos
void interrupcion_rx() //por el usart
{
portb = getc(); //Se lee el dato recibido
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#zero_ram //Borrado de la memoria ram
void main() //Rutina principal
{
set_tris_b(0b00000000); //Configuracion de entradas y salidas del puerto B
enable_interrupts(global); //Habilitación de todas las interrupciones
enable_interrupts(int_rda); //Habilitación por recepcion
portb = 0;
while(true) //Rutina general
{
delay_ms(100)
putc('A');
}
///////////////////////////////////////////////////////////////////////////////