bueno pues leyendo el post anterior de comunicacion UART logramos despejar muchas dudas q teniamos, y sin embargo.. al probar el codigo casi tal cual como estaba en el post anterior, al compilar el programa, este presenta errores y parecen tener que ver con la libreria UART.H asi que en el proyecto tambien agregamos los library files para este pic
El programa completo es el siguiente.. y la idea es simplemente hacer una prueba de comunicacion UART.
/* Archivos cabecera para las funciones y definiciones */
#include <p30f4011.h>
#include <uart.h>
#define FCY 30000000
/* Prototipos de funciones*/
void tiempo(void);
/************* START OF MAIN FUNCTION ***************/
int main ( void ){
unsigned int baudvalue;
unsigned int U1MODEvalue;
unsigned int U1STAvalue;
char TEXTO[] = {'H','e','l','l','o',' ','U','A','R','T','\n','\r','\0'},
CloseUART1();
ConfigIntUART1( UART_RX_INT_DIS &
UART_RX_INT_PR6 &
UART_TX_INT_DIS &
UART_TX_INT_PR2);
U1MODEvalue = UART_EN &
UART_IDLE_CON &
UART_DIS_WAKE &
UART_DIS_LOOPBACK &
UART_DIS_ABAUD &
UART_NO_PAR_8BIT &
UART_1STOPBIT &
UART_RX_TX;
U1STAvalue = UART_INT_TX_BUF_EMPTY &
UART_TX_PIN_NORMAL &
UART_TX_ENABLE &
UART_INT_RX_CHAR &
UART_ADR_DETECT_DIS &
UART_RX_OVERRUN_CLEAR;
baudvalue =390; //=30000000/(16*BaudRate)-1
OpenUART1(U1MODEvalue, U1STAvalue, baudvalue);
TRISDbits.TRISD0=0;
while(1){
LATDbits.LATD0=1;
putsUART1 ((unsigned int *)TEXTO);
while(BusyUART1());
tiempo();
LATDbits.LATD0=0;
tiempo();
}
}
/*Funcion delay paraq tiempo*/
void tiempo(void){
int unsigned contador;
int unsigned cont;
for(cont=1;cont<20;cont++)
for(contador=1;contador<0xFFFF;contador++);
return;
}
y al compilar, presenta los siguientes errores.. todos de las funciones de UART.H
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Archivos de programa\Microchip\MPLAB C30\bin\pic30-gcc.exe" -mcpu=30F4011 -c -x c "bla.c" -o"bla.o" -g
bla.c: In function 'main':
bla.c:26: error: conflicting types for 'CloseUART1'
c:/archivos de programa/microchip/mplab c30/bin/bin/../../support/peripheral_30F_24H_33F/uart.h:299: error: previous declaration of 'CloseUART1' was here
bla.c:40: error: 'UART_RX_TX' undeclared (first use in this function)
bla.c:40: error: (Each undeclared identifier is reported only once
bla.c:40: error: for each function it appears in.)
Halting build on first failure as requested.
BUILD FAILED: Tue Mar 10 14:49:38 2009
por favor cualquier ayuda serviria de MUCHOO!