原理说明

  使用本地TCP服务器直接可以接受发送char[]型数据而无需处理。
  设置C52与无线通讯模块为相同的波特率进行有线串口通讯连接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Uart_Init()		//4800bps@12.000MHz          //误差太大用4800
{

PCON |= 0x80; //使能波特率倍速位SMOD
SCON = 0x50; //8位数据,可变波特率
// AUXR &= 0xBF; //定时器1时钟为Fosc/12,即12T
// AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //清除定时器1模式位
TMOD |= 0x21; //设定定时器1为8位自动重装方式 定时器T0为16位定时模式(低八位)
TL1 = 0xF3; //设定定时初值
TH1 = 0xF3; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
EA=1; //总中断打开
ES=0; //关闭串口中断
ET0=1; //定时器T0中断允许
TR0=1; //启动T0计数器
TH0=0x3C;
TL0=0xB0;

}

RI串口中断接受:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Uart_Interrupt() interrupt 4        
{

if(RI==1)
{
RI=0;
Receive=SBUF; //MCU接收wifi模块反馈回来的数据
Recive_table[i]=Receive;
i++;
if((Receive =='\n')){
i=0;
flag = 1;
}
}
else TI=0;

}

串口发送:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/********************************************************************
名称:串口发送函数
功能:MCU向其他与其连接的设备发送数据(此处是无线WIFI模块ESP8266)
********************************************************************/
void Send_Uart(uchar value)
{
ES=0; //关闭串口中断
TI=0; //清发送完毕中断请求标志位
SBUF=value; //发送
while(TI==0); //等待发送完毕
TI=0; //清发送完毕中断请求标志位
ES=1; //允许串口中断
}

/********************************************************************
名称:串口发送数据
作用: 通过串口发送指令到WIFI模块,以便可以实现无线接入和控制,带回车换行
********************************************************************/
void SerialSend(uchar *puf) // 数组指针*puf指向字符串数组
{

while(*puf!='\0') //遇到空格跳出循环
{
Send_Uart(*puf); //向WIFI模块发送控制指令。
us_delay(5);
puf++;
}
us_delay(5);
Send_Uart('\r');//回车
us_delay(5);
Send_Uart('\n'); //换行 //本身已经包含了回车和换行
}

/********************************************************************
名称:串口发送数据
作用: 通过串口发送指令到WIFI模块,不带回车换行
********************************************************************/
void SerialSend_byte(uchar *puf) // 数组指针*puf指向字符串数组
{

while(*puf!='\0') //遇到空格跳出循环
{
Send_Uart(*puf); //向WIFI模块发送控制指令。
us_delay(5);
puf++;
}
}

最后本地解析即可!

效果演示视频

Tips

一种轻量化云端闭环设备间协同算法设计