📄 serial.c
字号:
//////////////////////////////////////////////////////////////////////////////////// Copyright(c) 2001-2002 Hybus Co,.ltd. All rights reserved.//// Module name:// serial.c//// Description://////// Author:// bedguy//// Created:// 2002.10//////////////////////////////////////////////////////////////////////////////////#include "serial.h"#include "types.h"void SerialInit(ulong baud){ // GP39, GP40, GP41阑 UART(10)肺 荤侩茄促. GAFR1_L |= 0x000A8000; GPDR1 |= 0x00000380; // 8-bit, 1 stop, no parity 技泼. FFLCR = 0x00000003; // Reset tx, rx FIFO. clear. FIFO enable FFFCR = 0x00000007; // UART Enable Interrupt FFIER = 0x00000040; // DLAB set=latch registers, DLAB clear=老馆 器飘. FFLCR |= 0x00000080; // baud rate 汲沥. FFDLL = baud; // DLAB clear, 老馆 器飘肺 傈券. FFLCR &= 0xFFFFFF7F; // Transmit Shift Register, Transmit Holding Register, FIFO俊 // 单捞鸥啊 绝阑锭鳖瘤 扁促赴促. while(! FFLSR & 0x00000040 ); return;}void SerialOutputByte(const char c){ // FIFO俊 单捞鸥啊 绝阑锭鳖瘤 扁促赴促. while ((FFLSR & 0x00000020) == 0 ); FFTHR = ((ulong)c & 0xFF); // c=='\n'捞搁, 角力肺绰 "\n\r"阑 免仿. if (c=='\n') SerialOutputByte('\r');}int SerialInputByte(char *c){ // FIFO俊 单捞鸥啊 乐阑锭. if((FFLSR & 0x00000001)==0){ return 0; } else { (volatile char)*c = FFRBR; return 1; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -