Configuración Comunicación Serial.
Registros a Configurar:
TXSTA= Control y Estado de Trasmisión.
RCSTA= Control y estado de Recepción.
BAUDCON= Control del Generador De Baudio.
Para modo de Operación Asíncrono:
Configurar los siguientes Registros:
Registro de Control y Estado de Transmisión (TXSTA).

Configurar los siguientes Bits:
Modo Asíncrono SYNC=0.
Habilitar Transmisor TXEN=1.
8 Bits de datos a transmitir TX9=0.
Baud Rate Alta Velocidad BRGH=1.
Registro de Control y Estado de Receptor (RCSTA).

Configurar los Siguientes Bits:
Habilitar Puerto Serial SPEN=1.
8 datos a Recibir RX9=0.
Habilitar Recptor CREN=1.
Registro de Control de Baudios (BAUDCON).

Configurar los siguientes Bits:
8 bits de resolución Baud Rate BRG16=0.
Registro Velocidad del Generador de Baud Rate (SPBRG).
Seleccionar el valor de la siguiente tabla para el registro SPBRG.
SPBRG=129.
Funciones Definidas:
La siguiente función configura el Modulo Serial:
void EUSART_CONFIG (){
TXSTA=0B00100100;
RCSTA=0B10010000;
BAUDCON=0X00;
SPBRG=129;
}
La siguiente Función Recibe un dato serial.
int EUSART_RX () {
if (PIR1bits.RCIF){ // EL BIT RCIF ES LIMPIADO CUANDO SE LEE EL REGISTRO RCREG
}
return RCREG;
}
La siguiente Función Transmite un Dato Serial.
void EUSART_TX (unsigned int a){
if (TRMT==1){
TXREG=a;
}
}
Registros a Configurar:
TXSTA= Control y Estado de Trasmisión.
RCSTA= Control y estado de Recepción.
BAUDCON= Control del Generador De Baudio.
Para modo de Operación Asíncrono:
Configurar los siguientes Registros:
Registro de Control y Estado de Transmisión (TXSTA).

Configurar los siguientes Bits:
Modo Asíncrono SYNC=0.
Habilitar Transmisor TXEN=1.
8 Bits de datos a transmitir TX9=0.
Baud Rate Alta Velocidad BRGH=1.
Registro de Control y Estado de Receptor (RCSTA).

Configurar los Siguientes Bits:
Habilitar Puerto Serial SPEN=1.
8 datos a Recibir RX9=0.
Habilitar Recptor CREN=1.
Registro de Control de Baudios (BAUDCON).

Configurar los siguientes Bits:
8 bits de resolución Baud Rate BRG16=0.
Registro Velocidad del Generador de Baud Rate (SPBRG).
Seleccionar el valor de la siguiente tabla para el registro SPBRG.
SPBRG=129.
Funciones Definidas:
La siguiente función configura el Modulo Serial:
void EUSART_CONFIG (){
TXSTA=0B00100100;
RCSTA=0B10010000;
BAUDCON=0X00;
SPBRG=129;
}
La siguiente Función Recibe un dato serial.
int EUSART_RX () {
if (PIR1bits.RCIF){ // EL BIT RCIF ES LIMPIADO CUANDO SE LEE EL REGISTRO RCREG
}
return RCREG;
}
La siguiente Función Transmite un Dato Serial.
void EUSART_TX (unsigned int a){
if (TRMT==1){
TXREG=a;
}
}

Esa libreria EUSART es un archivo que tienes que crear con extencion ".h", y la incluyes en tu programa principal. para poder llamar las funciones que allí están definidas
ResponderEliminar