📄 uart_fun.c
字号:
#define _FUN_
#include "include.h"
xdata unsigned char send[20];
xdata unsigned char res[20];
unsigned char s;
unsigned char r; // 指示
unsigned char data_tmp; //存放收到的一个数据
unsigned char flag,flg=0; //指示是否有新的数据接受到
/******************************************************
函数名:uart_isr()
功能:中断处理函数
输入参数:无
输出参数:无
******************************************************/
void uart_isr() interrupt 4
{
if (SCON0&0X01)
{
data_tmp=SBUF0;
res[r] = data_tmp;
r++;
if (r==19) flg=1;
flag=1;
SCON0&=0Xfe;
}
}
/**********************************************************
函数名:uart_receive(unsigned char *data_receive,unsigned char rev_len)
功能描述:按指定的数据长度接受数据。注意:没有接收完的话回一直进行
传入参数: unsigned char *data_receive:数据所放的数组
unsigned char rev_len:数组长度
传出参数:无
************************************************************/
void uart_receive(unsigned char *data_receive,unsigned char rev_len)
{
unsigned char i;
for(i=0;i<rev_len;i++)
{
while(flag)
{
data_receive[i]=data_tmp;
flag=0;
}
}
}
/************************************************************
函数名:uart_send()
功能:发送函数
输入参数:data_send (unsigned char),要发送的数据
输出参数:无
***************************************************************/
void uart_send(unsigned char data_send)
{
SBUF0=data_send;
while(!TI0);
TI0=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -