Estoy aprendiendo programación ARM. He configurado uart de lpc2148 antes. Pero ahí incluí el código completo en un solo archivo. Hoy los separé en archivos .c y .h. Pero cuando intenté construir, obtuve el siguiente error
uart.axf: Error: L6200E: Symbol a multiply defined (by main.o and uart.o).
uart.axf: Error: L6200E: Symbol i multiply defined (by main.o and uart.o).
Target not created
Debajo está el código main.c
//main.c
#include "uart.h"
int main(void) {
uart_init();
uart_tx("Hello\r\n");
while(1)
{
uart_rx();
uart_tx(a);
uart_tx("\r\n");
}
return 0;
}
uart.c
//uart.c
#include "uart.h"
void uart_init() {
PINSEL0 |= (5<<0);
U0LCR = 0X83;
U0DLL = 97;
U0LCR = 0X03;
}
void uart_tx(char *data) {
while(*data) {
U0THR = *data;
while(!(U0LSR&(1<<5)));
data++;
}
}
void uart_rx() {
for(i = 0; ; i++) {
while(!(U0LSR&(1<<0)));
a[i] = U0RBR;
if(a[i] == '\r') {
a[i] = '//uart.h
#ifndef UART_H
#define UART_H
#include <LPC214X.H>
#include <stdio.h>
#include <stdint.h>
char a[100];
int i;
void uart_init();
void uart_tx(char *);
void uart_rx();
#endif
';
break;
}
}
}
uart.h
uart.axf: Error: L6200E: Symbol a multiply defined (by main.o and uart.o).
uart.axf: Error: L6200E: Symbol i multiply defined (by main.o and uart.o).
Target not created
Encontré algunos enlaces, pero ninguno de ellos parece dar una solución