Adjunto 'uart.c'
Descargar 1 #include "uart.h"
2 /* ----------------------------------------------------------------------------
3 * inicializar UART
4 * ----------------------------------------------------------------------------*/
5 void UART_Init()
6 {
7 PCB_PINSEL0 |= 0x00000005;
8 UART0_IER = 0x00; // Deshabilita todas las interrupciones
9 UART0_IIR = 0x00; // Borrar identificaciones de interrupciones
10 UART0_LSR = 0x00; // Borra el "line status register"
11 UART0_RBR = 0x00; // Borra el "receive register"
12 }
13 /* ----------------------------------------------------------------------------
14 * inicializar Baud Rate
15 * ----------------------------------------------------------------------------*/
16 void UART_BaudRateConfig(unsigned int BaudRate)
17 {
18 UART0_LCR |= (1<<7); //DLAB en 1;
19 UART0_DLL = (unsigned char) (BaudRate >> 0);
20 UART0_DLM = (unsigned char) (BaudRate >> 8);
21 UART0_LCR &= ~(1<<7); //DLAB en 0;
22 }
23 /* ----------------------------------------------------------------------------
24 * enviar un byte
25 * ----------------------------------------------------------------------------*/
26 void UART_ByteSend(unsigned char *Data)
27 {
28 if (((UART0_FCR >> 0) & 1) == 1) //Si la FIFO está habilitada.
29 {
30 while(((UART0_LSR >> 5) & 1) == 0); //Esperar hasta que al menos 1 posición de la FIFO esté libre.
31 }
32 else //Si la FIFO no está habilitada.
33 {
34 while(((UART0_LSR >> 6) & 1) == 0); //Esperar hasta que el shift register del transmisor esté vacío.
35 }
36 UART0_THR = *Data;
37 }
38 /* ----------------------------------------------------------------------------
39 * enviar cadena
40 * ----------------------------------------------------------------------------*/
41 void UART_StringSend(unsigned char *data)
42 {
43 int i;
44 unsigned char enter = 13;
45 for (i = 0;;i++) {
46 if(data[i] == 0) {
47 UART_ByteSend(&enter);
48 break;
49 } else {
50 UART_ByteSend(&data[i]);
51 }
52 }
53 }
Archivos adjuntos
Para referirse a los adjuntos de una página, usa attachment:nombredelarchivo, como se muestra abajo en la lista de archivos. NO uses la URL del enlace [get], ya que puede cambiar fácilmente y dejar de funcionar.No tienes permisos para adjuntar un archivo a esta página.