?? 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 + -