实现的功能
说明
1,请用户先学习这一节
https://www.cnblogs.com/yangfengwu/p/12382103.html 编写C#串口调试助手
2.控制继电器引脚
协议规定
上位机串口发送给ESP8266控制继电器吸合指令:
0xaa 0x55 0x01 0x01
ESP8266执行以后回复:
0x55 0xaa 0x01 0x01
上位机串口发送给ESP8266控制继电器断开指令:
0xaa 0x55 0x01 0x00
ESP8266执行以后回复:
0x55 0xaa 0x01 0x00
ESP8266程序编写
1.串口处理在这节的基础上添加
https://www.cnblogs.com/yangfengwu/p/12375342.html
2.配置GPIO5为普通引脚
/*设置GPIO5为普通引脚*/ PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U , FUNC_GPIO5);
3.定义用于返回继电器状态的数组
/*用于返回继电器的状态*/ u8 RelayOn[4]={0x55,0xaa,0x01,0x01};//继电器吸合 u8 RelayOff[4]={0x55,0xaa,0x01,0x00};//继电器断开
4.编写处理程序
if(Usart0ReadBuff[0] == 0xaa && Usart0ReadBuff[1] == 0x55){ if(Usart0ReadBuff[2] == 0x01){ if(Usart0ReadBuff[3] == 0x01){ GPIO_OUTPUT_SET(5, 1);//设置GPIO5输出高电平 for(i=0;i<4;i++){ uart_tx_one_char(UART0,RelayOn[i]);//返回吸合指令 } } else if(Usart0ReadBuff[3] == 0x00){ GPIO_OUTPUT_SET(5, 0);//设置GPIO5输出低电平 for(i=0;i<4;i++){ uart_tx_one_char(UART0,RelayOff[i]);//返回断开指令 } } } }
5.先用串口调试助手测试
控制继电器吸合
aa 55 01 01
控制继电器断开
aa 55 01 00
C#上位机程序编写
1.上位机只保留了这一节
https://www.cnblogs.com/yangfengwu/p/12382103.html
操作串口部分
详细保留的程序说明:
1.串口显示初始化
2.打开关闭串口
3.串口热插拔检测
4.串口接收