建议你采用透传模式下的ESP8266,避免繁琐的AT指令设置,透传方式更稳定切方便快捷 |
597329015 发表于 2023-6-6 22:09 我又看了一下,他应该是要配成ap模式,那就缺了这条AT指令,以及缺失TCP侦听端口信息。 |
597329015 发表于 2023-6-6 22:09 8266只需要发送无线名和密码就可以了,其他的路由器自动分配的。不过他的void AT_Send_String(u8 *string) //发送字符串 { while(*string) { Sent_ZF(*string++); Delay_ms(5); } }函数,发一个字节就延时5ms,会导致8266将一字节当作一帧数据,从而导致无法正确处理AT指令吧。 还有就是8266要配置成单连接模式,client模式等,AT指令好像有所缺失 |
根据您提供的代码,我注意到您的主程序中只初始化了串口和 ESP8266 模块,并在循环中实现了空操作。而在串口中断处理函数中,根据输入的字符 'o' 和 'f' 分别控制了 LED 灯的亮灭。 由于没有详细的说明和注释,我无法判断代码在运行时是否存在问题,调试代码建议您使用单步跟踪和调试工具来分析问题的根本原因。 另外需要注意的是,在 ESP8266 模块初始化代码中,您发送了 AT 指令和设置了 ESP8266 的无线热点名称和密码。如果想要正常连接无线网络,还需要进一步配置相应的参数,例如 IP 地址、网关、子网掩码等。 |
目测串口初始化的问题,直接用STC的ISP软件生成一个串口初始化程序试试 应该是Send_ZF函数卡住了 |
munuc_w 发表于 2023-6-6 14:27 程序中确实是发送的at指令字符串,并且找了很多例程也没用 |
看看通讯协议手册上怎么说。 |
ESP8266进入AT模式后只接收AT格式的指令。 |