原理说明
使用本地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() {
PCON |= 0x80; SCON = 0x50;
TMOD &= 0x0F; TMOD |= 0x21; TL1 = 0xF3; TH1 = 0xF3; ET1 = 0; TR1 = 1; EA=1; ES=0; ET0=1; TR0=1; 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; 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
|
void Send_Uart(uchar value) { ES=0; TI=0; SBUF=value; while(TI==0); TI=0; ES=1; }
void SerialSend(uchar *puf) {
while(*puf!='\0') { Send_Uart(*puf); us_delay(5); puf++; } us_delay(5); Send_Uart('\r'); us_delay(5); Send_Uart('\n'); }
void SerialSend_byte(uchar *puf) {
while(*puf!='\0') { Send_Uart(*puf); us_delay(5); puf++; } }
|
最后本地解析即可!
效果演示视频
Tips
一种轻量化云端闭环设备间协同算法设计