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 + -
显示快捷键?