⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.c

📁 XSBase255_Linux_C开发版BootLoader源代码.gz
💻 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 + -