Bienvenido: Ingresar
location: attachment:uart.c de WebHome/Hardware/LPC2114/ModuloUART

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.
  • [obtener | ver] (2019-09-02 11:56:17, 2.0 KB) [[attachment:uart.c]]
  • [obtener | ver] (2019-09-02 11:56:17, 0.5 KB) [[attachment:uart.h]]
 All files | Selected Files: delete move to page copy to page

No tienes permisos para adjuntar un archivo a esta página.