📄 uart.c
字号:
/************************************************************************************
* Copyright (c) 2004,西安铭朗电子科技有限责任公司
* All rights reserved.
*
* 文件名称: Uart.C
* 文件标识: none
* 适用器件: C8051F340
*
* 摘 要:串口通讯模块
*
* 当前版本:1.0
* 作 者:张宁强
* 完成日期:2006年5月29日
*
* 历史版本:
* 原作者:
* 完成日期:
*************************************************************************************/
#include "CP2200DK.H"
#define SYSCLK 12000000
#define BAUDRATE 9600
void Uart0Init(void)//串口初始化
{
SCON0 = 0x10;//允许接收
/*if (SYSCLK/BAUDRATE/2/256 < 1) {
TH1 = -(SYSCLK/BAUDRATE/2);
CKCON &= ~0x0B; // T1M = 1; SCA1:0 = xx
CKCON |= 0x08;
} else if (SYSCLK/BAUDRATE/2/256 < 4) {
TH1 = -(SYSCLK/BAUDRATE/2/4);
CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 01
CKCON |= 0x01;
} else if (SYSCLK/BAUDRATE/2/256 < 12) {
TH1 = -(SYSCLK/BAUDRATE/2/12);
CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 00
} else {
TH1 = -(SYSCLK/BAUDRATE/2/48);
CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 10
CKCON |= 0x02;
}
*/
TH1 = -(SYSCLK/BAUDRATE/2/4);
CKCON &= ~0x0B; // T1M = 0; SCA1:0 = 01
CKCON |= 0x01;
TL1 = TH1;
TMOD &= ~0xf0;
TMOD |= 0x20;
TR1 = 1;
TI0 = 1;
}
unsigned char Uart0Get(void)//UART0接收一个字节
{
while(RI0==0);
RI0=0;
return SBUF0;
}
void Uart0Send(unsigned char Dbyte)//UART0发送一个字节
{
TI0=0;
SBUF0=Dbyte;
while(TI0==0);
}
void Uart0SendString(unsigned char *StrHead,unsigned char Number)//UART0发送一组数据
{
unsigned char n;
for(n=0;n<Number;n++)
{
Uart0Send(StrHead[n]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -