OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3946|回复: 1

关于STM32单片机使用串口调试ESP8266模块的问题

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2020-12-5
在线时间
3 小时
发表于 2020-12-16 15:47:10 | 显示全部楼层 |阅读模式
平台:正点原子STM32F767IGT6,阿波罗
调试外设:ESP8266 WIFI模块,安信可科技
        首先先讲一下我遇到的问题,然后后面阐述我尝试过的解决方案,问题就是单片机使用串口发送给模块AT指令的时候,并不会返回正确的信息,而基本是ERROR等信息,但是PC端测试过该模块是可以正常使用的,单片机的串口也能够正常工作。
        使用的ESP8266模块可以使用单独的TTL-USB转串口,在PC端使用sscom串口调试工具进行发送AT指令对该模块进行配置,模块中的固件为出厂默认的固件,也就是支持AT指令配置的固件,使用PC串口调试工具进行测试时可以正常通讯并进行配置,实验结果如图1。

使用AT指令测试模块可以正常工作。
        之后是该模块需要放在单片机上,在单片机中我使用stm32f767的串口3,对于单片机的串口3的配置不多说,简单就是波特率一定要配置成115200,8位数据位以及1位停止位,接下来展示一下使用PC串口调试工具与单片机串口进行通讯的实验结果,接收和发送均可以正常进行,实验结果如下。第2张为单片机发送消息到PC,第3张为PC发送一个消息到单片机。


上述的两个实验的用意就是说明WIFI模块本身没出问题,而单片机的串口配置等也没有问题可以正常发送接收指令。
        接下来把模块的接地与3.3V供电和RX、TX这些外设需要的线接在开发板上,连接完之后,模块在每次上电的时候一般都会发送一些外设信息,我这边模块一般重新上电之后会发送过来一个WIFI DISCONNECTED信息,也就是说模块上电之后是有在正常工作的,并且单片机接受数据也没有出问题,然后根据一般的对外设的配置,我先发送了一个简单的指令AT用来测试能不能返回OK,发送的代码截图如下,使用memcpy函数把字符串拷贝到数组里,然后一个字符一个字符地发送,在网上很多帖子也说到需要在每条指令末尾加上\r\n,也就是回车换行符,但是加上之后发送过去模块毫无反应,而唯一模块有反应的指令就是图4的代码展示的这样。

之后我们看下返回的完整数据,由于这个模块返回数据的格式是先返回我们发送过去的指令然后跟上换行回车,之后才是模块的回应信息,我用STLINK调试,我们看下内存中的数据,截图如图5。

正如图片所显示的那样,返回的应答信息是ERROR,对于AT这条指令并没有回应OK。
        我目前对问题的初步定位是在发送数据这边,问题可能会出在发送端这边因为模块需要解析某些特定的格式或者发送的数据有误之类的问题,已经尝试过一些了,还是找不出问题所在,有调试过ESP8266模块的大神或者能够知道某些原因的大神欢迎留言。
1.png
2.png
3.png
4.png
5.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2020-12-21 11:08:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-14 19:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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