📄 sci.c
字号:
/*-----------------------------------------------------*
*文件描述:本文件包含了串行通信的4子程序,分别为: *
*(1)SCISend1:串行发送1字节 *
*(2)SCISendN:串行发送n字节 *
*(3)SCIRe1:串行接收1字节 *
*(4)SCIReN:串行接收n字节 *
*-------------《嵌入式应用技术基础教程》--------------*/
#include "SCI.h"
void SCISend1(unsigned char o)
{//判断ReStatusR的第SendTestBit位是否为1,是1可以发送
while(1)
{
if ((ReSendStatusR & (1 << SendTestBit)) != 0)
{
ReSendDataR = o;
break;
}
}
}
void SCISendN(unsigned char n,unsigned char ch[])
{
int i;
for(i = 0; i < n; i++)
SCISend1(ch[i]);
}
unsigned char SCIRe1(unsigned char *p)
{
unsigned int k;
unsigned char i;
//ReStatusR第ReTestBit位为1表示可接收数据
for(k = 0; k< 0xfbbb; k++)
{
if ((ReSendStatusR & (1 << ReTestBit)) != 0)
{
i = ReSendDataR;
*p = 0x00;
break;
}
}
if(k >= 0xfbbb)
{
i = 0xff;
*p = 0x01;
}
return i; //返回接收到的数据
}
unsigned char SCIReN(unsigned char n, unsigned char ch[])
{
int m;
unsigned char fp;
m = 0;
while (m < n)
{
ch[m]=SCIRe1(&fp);
if (fp == 1) return 1;
m ++;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -