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

📄 uart.c

📁 在C8051f340下的一个完整的uart项目源码 请
💻 C
字号:
/*
*************************************************************************
*				 		C8051F340 uart modular
*
*		        	  
*						   
*
* 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;							/* T1M = 1, timer1 use sysclk		*/
	SCON0 	|= 0x50;							/* uart in mode 1 (8 bit), REN=1 	*/
	TMOD  	|= 0x20;		        			/* Timer 1 in mode 2 				*/
	TH1  	= 0xCC;  							/* 115200 Bds at 12MHz system clock	*/
	TL1  	= 0xCC; 	
	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 + -