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

📄 uart.c

📁 实现ucos任务调度时保存LCD上的显示信息
💻 C
字号:
/*
*************************************************************************
*				 		C8051F340 uart modular
*
*		        	  Ambition Comm Tech Ltd.Cop
*						   Jason.D.Proakis
*
* File Description : .c file of uart in C8051F340.  
*			  	Include implemention operate functions
*                    		such as initial, output one charater,
*				output a string, input one charater, input a string.
* Create Date	   : 04-04-2008
* Version	       	   : V1.00
* Change History :
*
*************************************************************************
*/


#include <C8051F340.h>
#include "uart.h"

/* Initial uart0, use .h file configurations */
void init_uart0(void)
{
	CKCON 	|= 0x08;							/*  timer1 use sysclk 				*/
	SCON0 	|= 0x50;							/* uart in mode 1 (8 bit), REN=1 	*/
	TMOD  	&= 0x0F;		        			/* Timer 1 in mode 2 				*/
	TMOD	|= 0x20;
	TH1  	= 0x30;  							/* 115200 Bds at 48MHz system clock	*/
	TL1  	= 0x30; 	
	TR1 	= 1; 								/* Timer 1 run */
	TI0 	= 1;								/* set uart0 transmit interrupt flag*/
}

/* Put a char by uart0 */
void putc_uart0(char ch) 	reentrant
{
	while(!TI0);
	TI0 = 0;
	SBUF0 = ch;

	if(ch == '\n') putc_uart0('\r');
}

/* Get a char from uart0 */
char getc_uart0(void)
{
	while(!RI0);
	RI0 = 0;
	return (SBUF0);
}

/* Put a string by uart0 */
void puts_uart0(char * pch)
{
	while(*pch != '\0') putc_uart0(*pch++);
}

/* Get a string from uart0 */
unsigned char gets_uart0(char * pch)
{
	unsigned char cnt = 0;

	while((*pch++ = getc_uart0()) != '\n') cnt ++;
	*pch = '\0';

	return cnt;
}

⌨️ 快捷键说明

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