WiFi接好之后,首先是要配置一些参数。配置的办法一样平常有两种,一种是登录网址的办法,远端配置,就像配置路由器一样。还有一种办法是利用串口来配置,发送干系的AT指令来完成。但是ESP8266模块彷佛无法登录网址来配置,搜到了它的利用手册,上面只给出了利用串口来配置的方法,以是只好借助于开拓板上的串口了。
开拓板上并没有直接因此串口的接口,但是通过电路图可知,stlink电路部分是预留了虚拟串口的功能的,如下图所示

因此我们可以借助于这个虚拟串口与PC机的串口调试助手实现通信。这是官方预留的功能,不须要用户编写干系程序,安装最新的驱动就可以直接被识别,利用起来很方便。我的电脑上的stlink驱动比较老了,导致无法识别出串口,在请教了一位大神后,更新了驱动,虚拟串口就可以被识别了。不同的电脑识别出的串口号不一样,我电脑上识别出的串口如下图所示,
通过电路图可知,虚拟串口利用的是USART1,WIFI接口利用的是UART5,要想利用串口调试助手发送调试命令给ESP8266,必须让USART1与UART5建立起联系,当然硬件上是不可能了,因此只能从软件上动手了。它的逻辑框图如下图所示,
搞清楚逻辑关系就开始编写程序,依然是利用CubeMx来完成程序的初始化事情,它的利用前面已经先容过了,这里不再赘述。初始化事情完成后,紧张是在main.c文件中添加要实现的功能。首先是完成串口吸收不定长数据的功能,实现的方法大概多,这里是利用检测空闲中断(IDLE)的方法来实现。干系的观点不再展开描述,读者可以自行到网上查干系资料,网上各路大神都给出了详细的先容。
首先使能IDLE中断,这两句话的位置很主要,放错位置了并不能打开IDLE中断,利用cubemx编写程序,程序的位置基本是固定的,最好是在它指定的位置添加语句,这样你再重新天生程序文件时,添加的语句也不会被覆盖掉。
在while循环中实现虚拟串口与ESP8266信息的中转:
在发送完成回调函数中完成IDLE中断标志位的打消:
在中断处理程序中调用回调函数:
程序编译通过后下载到开拓板中,接下来我们就可以通过串口调试助手掌握WiFi模块了。
先来测试一下复位命令,发送命令AT+RST,得到的返回结果如下:
通过AT命令,也可以设置其他的参数,包括设置WiFi模式,名称和密码等,这里不再逐一演示。命令均可以在手册山查到。
以上图文内容均是EEWORLD论坛网友:zhongyuan186118原创,在此感谢。
欢迎微博@EEWORLD
如果你也写过此类原创干货请关注微信"大众年夜众号:EEWORLD(电子工程天下)回答“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!
与更多行业内网友进行互换请上岸EEWORLD论坛。







