hola, estoy intentando configurar la UART del pic30f4013, estoy intentando utilizar los ejemplos que encuentro en este foro, como este
#include <p30f4013.h>
#include <uart.h>
//FUSES
_FOSC(CSW_FSCM_OFF & XT_PLL16);
_FGS(CODE_PROT_OFF);
_FWDT( WDT_OFF);
_FBORPOR(PBOR_OFF & MCLR_DIS & PWRT_OFF) ;
//funcion que inicializa los puertos
void Puertos(void)
{
TRISCbits.TRISC14=0;
LATCbits.LATC14=0;
PORTCbits.RC14=0;
}
//INCIALIZACION Y CONFIGURACION UART
void CONFI_uart (void)
{
unsigned int baudvalue;
unsigned int U1MODEvalue;
unsigned int U1STAvalue;
CloseUART1();
ConfigIntUART1(UART_RX_INT_DIS & UART_RX_INT_PR6 & UART_TX_INT_DIS & UART_TX_INT_PR2);
baudvalue = 191; //para tener 9600 baudios con un cristal de 7.378Mhz
U1MODEvalue = UART_EN & UART_IDLE_CON & UART_RX_TX &
UART_DIS_WAKE & UART_DIS_LOOPBACK &
UART_DIS_ABAUD & UART_NO_PAR_8BIT &
UART_1STOPBIT;
U1STAvalue = UART_INT_TX_BUF_EMPTY &
UART_TX_PIN_NORMAL &
UART_TX_ENABLE &
UART_INT_RX_BUF_FUL &
UART_ADR_DETECT_DIS &
UART_RX_OVERRUN_CLEAR;
OpenUART1(U1MODEvalue, U1STAvalue, baudvalue);
}
int main (void)
{
Puertos();
CONFI_uart();
unsigned int i=0 ;
//activacion uart y envio de mensaje
while(1)
{
i=0;
PORTCbits.RC14=1; //ENCIENDO UN LED PARA VER EL ESTADO DEL PROGRAMA
char Txdata[]= {'X','i','m','o','\n'};
for(i=0;i<5;i++)
{
U1TXREG=(Txdata);
while(U1STAbits.TRMT==0);
}
}
}
sin embargo falla el build, dandome estos errores:
C:\prueba\uart2.o(.text+0xe): In function `CONFI_uart':
C:\prueba\uart2.c:31: undefined reference to `CloseUART1'
C:\prueba\uart2.o(.text+0x12):C:\prueba\uart2.c:32: undefined reference to `ConfigIntUART1'
C:\prueba\uart2.o(.text+0x26):C:\prueba\uart2.c:48: undefined reference to `OpenUART1'
¿podría ser algun problema con las librerías? en ese caso, ¿qué debería hacer para solucionarlo?
Muchas gracias