uart.c

来自「ARM公司ATC培训的所有练习源码」· C语言 代码 · 共 39 行

C
39
字号
#include "uart.h"

/* Simple UART I/O functions
 */

#pragma arm section zidata="uart0_registers"

UART_t uart0;

#pragma arm section

void UART_init(void)
{
    uart0.Ctrl = UARTCR_ENABLE | UARTCR_TXENABLE | UARTCR_RXENABLE;

    uart0.LCR_H = UARTLCR_H_FIFOENABLE;

//  UARTREGS[UARTIMSK] = UARTRIS_RTINTR | UARTRIS_RXINTR;
/* Don't need to enable interrupts in this example */
}

char uart_getchar_polled(void)
{
    while (uart0.Flags & UARTFR_RXFIFOEMPTY) {

    //  waiting!
    }
    return uart0.Data;
}

void uart_putc_polled(char c) 
{
    while (uart0.Flags & UARTFR_TXFIFOFULL) {
	  //  waiting!    
    }
    uart0.Data = c;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?