You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
.proyectos >> Comunicación inalámbrica entre <strong>PIC</strong>s<br />
.Programa del MICRO TX<br />
#include <br />
void TxSerial( char d_ ) // Función para transmitir un dato de forma serial<br />
{<br />
TXREG = d_;<br />
while( !TRMT );<br />
}<br />
void InicioSerial( void ) // Función d inicio de la USART<br />
{<br />
TRISB1 = 1;<br />
TRISB2 = 0;<br />
TXSTA = 0x24;<br />
RCSTA = 0x90;<br />
BRGH = 1; // Configuración de la USART a 2400 bits por segundo<br />
SPBRG = 103;<br />
}<br />
void main( void ) // Funcion principal<br />
{<br />
char DATO;<br />
INTCON = 0; // Configuración de las interrupciones<br />
TRISB = 0xFF; // Se configuran los pines de los leds como salidas<br />
RBPU = 0; // Se activan las resistencias PULL-UP<br />
InicioSerial(); // Función d inicio de la USART<br />
while(1)<br />
{<br />
DATO = (~PORTB>>4)&15; // Se guarda en la variable DATO el valor de los 4 pulsadores<br />
TxSerial( 170 ); // Se transmite una bandera de inicio con la secuencia de bits: 10101010<br />
TxSerial( DATO ); // Se transmite el dato de manera redundante. 8 veces<br />
TxSerial( DATO );<br />
TxSerial( DATO );<br />
TxSerial( DATO );<br />
TxSerial( DATO );<br />
TxSerial( DATO );<br />
TxSerial( DATO );<br />
TxSerial( DATO );<br />
}<br />
}<br />
__CONFIG( 0x3F09 );<br />
.Programa del MICRO RX<br />
#include <br />
// Declaración de variables de trabajo<br />
char n=0;<br />
char Trama[4]={1,2,3,4};<br />
char DATO;<br />
void InicioSerial( void )// Función para la configuración de la USART.<br />
{<br />
TRISB1 = 1;<br />
TRISB2 = 0;<br />
TXSTA = 0x24;<br />
RCSTA = 0x90;<br />
BRGH = 1;<br />
SPBRG = 103;<br />
}<br />
void interrupt VET( void ) // Vector de interrupciones.<br />
{<br />
if( RCIF ) //Interrupción serial<br />
{<br />
DATO = RCREG; //Lectura del buffer de entrada serial<br />
//página 0x39 //página 0x3A<br />
switch( DATO ) // Se evalúa el dato que llega<br />
{<br />
case 170: for( n=0; n