📄 uart.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -