找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

ESP8266程序只能通过发送AT,后续指令会卡住

查看数: 2266 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-6-6 14:01

正文摘要:

运行到红线再向下就不动了,之前为了检查是哪一条开始卡住,在每条指令间插入了小灯亮灭,也就是观察到了亮、灭 #include<reg52.h> typedef unsigned char u8; typedef unsigned int u16; sbit LED = P1^3;u ...

回复

ID:648281 发表于 2023-6-7 13:20
建议你采用透传模式下的ESP8266,避免繁琐的AT指令设置,透传方式更稳定切方便快捷
ID:744809 发表于 2023-6-7 08:48
597329015 发表于 2023-6-6 22:09
根据您提供的代码,我注意到您的主程序中只初始化了串口和 ESP8266 模块,并在循环中实现了空操作。而在串 ...

我又看了一下,他应该是要配成ap模式,那就缺了这条AT指令,以及缺失TCP侦听端口信息。
ID:744809 发表于 2023-6-7 08:46
597329015 发表于 2023-6-6 22:09
根据您提供的代码,我注意到您的主程序中只初始化了串口和 ESP8266 模块,并在循环中实现了空操作。而在串 ...

8266只需要发送无线名和密码就可以了,其他的路由器自动分配的。不过他的void AT_Send_String(u8 *string)  //发送字符串
{
  while(*string)
  {
    Sent_ZF(*string++);
                Delay_ms(5);
  }

}函数,发一个字节就延时5ms,会导致8266将一字节当作一帧数据,从而导致无法正确处理AT指令吧。
还有就是8266要配置成单连接模式,client模式等,AT指令好像有所缺失
ID:1080331 发表于 2023-6-6 22:09
根据您提供的代码,我注意到您的主程序中只初始化了串口和 ESP8266 模块,并在循环中实现了空操作。而在串口中断处理函数中,根据输入的字符 'o' 和 'f' 分别控制了 LED 灯的亮灭。

由于没有详细的说明和注释,我无法判断代码在运行时是否存在问题,调试代码建议您使用单步跟踪和调试工具来分析问题的根本原因。

另外需要注意的是,在 ESP8266 模块初始化代码中,您发送了 AT 指令和设置了 ESP8266 的无线热点名称和密码。如果想要正常连接无线网络,还需要进一步配置相应的参数,例如 IP 地址、网关、子网掩码等。
ID:688692 发表于 2023-6-6 18:52
目测串口初始化的问题,直接用STC的ISP软件生成一个串口初始化程序试试
应该是Send_ZF函数卡住了
ID:907263 发表于 2023-6-6 16:21
munuc_w 发表于 2023-6-6 14:27
ESP8266进入AT模式后只接收AT格式的指令。

程序中确实是发送的at指令字符串,并且找了很多例程也没用
ID:123289 发表于 2023-6-6 15:25
看看通讯协议手册上怎么说。
ID:752974 发表于 2023-6-6 14:27
ESP8266进入AT模式后只接收AT格式的指令。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表