怎样实现电脑串口助手控制单片机给元器件发送命令并读取信息呢?我只会简单移植,然后串口助手发什么,单片机传回什么,元器件感觉没连接上,中间少了什么吗?
源码如下:
#include<stc12c5a.h>
#define Adr 01
unsigned char aa,Flag;
void UartInit(void)
{
PCON &= 0x7F;
SCON = 0x50;
AUXR &= 0xBF;
AUXR &= 0xFE;
TMOD &= 0x0F;
TMOD |= 0x20;
TL1 = 0xFA;
TH1 = 0xFA;
ET1 = 0;
TR1 = 1;
EA=1;
ES=1;
TI=0;
RI=0;
}
void DelayMs(unsigned char t)
{
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
void SendChar(unsigned char Char)
{
SBUF=Char;
while(!TI);
TI=0;
}
void SendStr(unsigned char *p)
{
while(*p!='\0')
{
SendChar(*p);
p++;
}
}
void main()
{
UartInit();
SendStr("open 01");
DelayMs(50);
SendStr("r");
while(1)
{
ES=0;
Flag=0;
SBUF=aa;
while(!TI);
TI=0;
ES=1;
}
}
void Uart_Isr(void) interrupt 4
{
if(RI)
{
RI=0;
aa=SBUF;
Flag=1;
}
if(TI)
{
TI=0;
}
}