sersend.c
来自「模拟串口通讯程序」· C语言 代码 · 共 84 行
C
84 行
#include<stdio.h>
#include<reg932.h>
#include<define.h>
void sentbyte(unsigned char byte)
{
unsigned char i,j,k,ii,jj,kk;
i=0;
j=0;
k=byte;
ii=byte;
for(i=0;i<8;i++) //---------------------------------------------校验位
{
if(k&0x80)
{
j++;
if(j==2)
{
j=0;
}
}
k <<=1;
}
if(j==0)
{
kk=0;
}
else
{
kk=1;
}
STXD=0;//--------------------------------------------------------起始位
DelayTwo(82);
for(jj=0;jj<8;jj++)//---------------------------------------------8个数据位
{
if(ii & 0x01)
{
STXD=1;
}
else
{
STXD=0;
}
ii >>=1;
DelayTwo(82);
}
if(kk)
{
STXD=1;//----------------------------------------------------校验位
}
else
{
STXD=0;//----------------------------------------------------校验位
}
DelayTwo(82);
STXD=1;//--------------------------------------------------------结束
DelayTwo(82);
AUXR1=0x00;
}
//-----***-启动发送-***-----//
void serialsend(void) //--------------------------------------------------------模拟串口发送
{
unsigned char i;
/* DataBuf[0]=0x68;
DataBuf[1]=0x00;
DataBuf[3]=0x00;
DataBuf[2]=0x00;
DataBuf[4]=0x00;
DataBuf[5]=0x00;
DataBuf[6]=0x00;
DataBuf[7]=0x68;
DataBuf[8]=0x01;
DataBuf[9]=0x02;
DataBuf[10]=0x43;
DataBuf[11]=0xC3;
DataBuf[12]=0xD9;
DataBuf[13]=0x16;*/
for(i=0;i<(DataBuf[9]+12);i++)
{
sentbyte(DataBuf[i]); //-------------------------------------模拟红外发送
}
SendEndFg=1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?