uart.c

来自「基于dragon_MX1_ads的装载启动代码armboot」· C语言 代码 · 共 71 行

C
71
字号
#include "uart.h"#include "../Include/mx1.h"void EUARTinit(){	// config I/O pins for UART 2	_reg_PT_GIUS &= PORT_MASK;	_reg_PT_GPR &= PORT_MASK;	// config UART 2	_reg_UCR1 = 5;	_reg_UCR2 = 0x4027;	_reg_UCR4 = 1;	_reg_UFCR = 0xA81;	_reg_UBIR = 0xF;	_reg_UBMR = 0x8A;	// 115200 with PERCLK1 = 16M	_reg_UBRC = 8;}U8 EUARTdataReady(){    return _reg_USR2 & RDR_MASK;    // check RDR bit}void EUARTputData(U8 data){    while (!(_reg_USR2 & TXFE_MASK));    // wait until TXFE bit set    _reg_UTXD = (U16)data;	 if (data == '\n')	// carriage return ? append line-feed	 {	    while (!(_reg_USR2 & TXFE_MASK));    // wait until TXFE bit set   	 _reg_UTXD = '\r';	 }}U8 EUARTgetData(){    while (!EUARTdataReady());   // wait until RDR bit set    return (U8)_reg_URXD;}void EUARTputHex(U8 data){    U8  d;    // print first digit    d = data >> 4;    if (d > 9)        d += 55;    else        d += '0';    EUARTputData(d);    // print second digit    d = data & 0xF;    if (d > 9)        d += 55;    else        d += '0';    EUARTputData(d);}void EUARTputString(U8 *line){    while (*line)    {        EUARTputData(*(line++));    }}

⌨️ 快捷键说明

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