📄 uart.c
字号:
#include <STC_NEW_8051.H>
#include <string.h>
#include "uart.h"
#include "myfun.h"
/*
------------------------------------------------------
此函数用于初始化串口,66M波特率为115200BPS
------------------------------------------------------
*/
void UART_Init()
{
PCON|=0x80;
/*
PCON的最高位SMOD=1时波特率加倍
此语句将此位置1
*/
TMOD=0x20;
/*
设置定时器1为方式2
初值自动装入
*/
TH1=0xf3;
TL1=0xf3;
/*
为定时器1方式2设置初值
0xf3是:12M晶振时,波特率为4800bps
*/
SCON=0x50;
/*
串口设置为方式1,REN=1,允许接收
*/
TR1=1;//启动定时器1
ES=1; //打开定时器中断
EA=1; //打开所有中断
}
/*-------------------------------------------------------
函数名:send()
功能:用户函数,发送一个字节的数据
作者:于振南
----------------------------------------------------------*/
void UART_Send_Byte(unsigned char mydata)
{
ES=0;
TI=0;
SBUF=mydata;
while(!TI);
TI=0;
ES=1;
}
void UART_Send_Enter()
{
UART_Send_Byte(0x0d);
UART_Send_Byte(0x0a);
}
/*-------------------------------------------------------
函数名:send_s()
功能:用户函数,发送一个字符串
作者:于振南
----------------------------------------------------------*/
void UART_Send_Str(char *s)
{
int len=strlen(s)-1;
int i;
for(i=0;i<len;i++)
UART_Send_Byte(s[i]);
if(s[i]=='\n')
{
UART_Send_Enter();
}
else
{
UART_Send_Byte(s[i]);
}
}
void UART_Put_Num(unsigned long dat)
{
char temp[20];
u32tostr(dat,temp);
UART_Send_Str(temp);
}
void UART_Put_Inf(char *inf,unsigned long dat)
{
UART_Send_Str(inf);
UART_Put_Num(dat);
UART_Send_Str("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -