📄 serial to pc.c
字号:
#include <REGX51.H>
//serial
void serialTransmit(unsigned char *ch,unsigned char len); //To transmit cmd
void serialReceive(void); //put incoming data into buffer and count cmdIndex
//serial receive
unsigned char cmd[10]; //receive buffer
unsigned char cmdIndex; //receive buffer counter,if received ,then >0
void main(void)
{
//serial
SCON = 0x50; //Mode 1 , receive enable
TMOD = 0x20; //Timer1 : Mode 2
TH1 = 230; //baudrate=1200
TL1 = 230; //baudrate=1200
TR1 = 1;
RI=0;
while(1)
{
serialReceive(); //receive cmd
if(cmdIndex>0) //incoming cmd received
{
serialTransmit("CmdReceived",11); //response
}
}
}
/*******************************************
To check if any incoming cmd,put incoming
data into buffer and count cmdIndex (global)
*******************************************/
void serialReceive(void)
{
cmdIndex=0; //cmd length counter
while(RI) //check if any incoming data
{
cmd[cmdIndex] = SBUF; //put into buffer
cmdIndex++;
RI=0;
if(cmdIndex>=10)break; //all 10 bytes received
while(!RI); //wait for the next byte
}
}
/*****************************************
To tramsmit cmd :
*ch = command to be sent
len = length of cmd
*****************************************/
void serialTransmit(unsigned char *ch,unsigned char len)
{
//transmit
int i;
for(i=0;i<len;i++)
{
TI = 0;
SBUF = ch[i]; //send
while(!TI); //wait until finished
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -