ESP8266 SDK开发: 综合篇-C#上位机串口通信控制ESP8266

实现的功能

说明

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.串口接收

猜你喜欢

转载自www.cnblogs.com/yangfengwu/p/12386915.html