打卡韦东山老师团队所讲解的课程第七天。
今天进行了代码改进添加了2项功能,利用串口手动输入WiFi账号和密码和优化展示ESP8266IP,代码段如下。
1、设置上电后等待时间 如果在等待时间内按下按键,可输入账号和密码,超时则跳出。
2、判断是否有按键按下
如果有按键按下,就马上获取数据,首先获取WiFi账号
while循环获取字符,每次只能获取一个字符
getchar获取串口输入的字符,每次获取一个
定义char ch 来存放字符
while循环判定ch是否是\r(回车),一旦输入回车就判断我们输入完了
ch是单个数据,要把ch保存起来,定义 char ssid_buf[20]="NETGEAR"保存起来,默认的账号是NETGEAR,密码100ask.cq,
定义长度 char len ssid_buf[len]=ch,每次长度+1 len++
在判断有按键按下时将ssid buf 要先清空,考虑到有一种情况:如果输入的账号字符少于7个就不会完全覆盖。所以要将 ssid buf清空,memset(ssdi buf,0,20)
if(ch>“ ”)----输入的如果是一些控制符,就给他过滤掉
接下来就是获取WiFi的密码和上面获取WiFi的账号基本一致
3、组合指令("AT+CWJAP=\"NETGEAR\",\"100ask.cq\"")
利用strcat将账号密码拼接起来,再利用memcpy将账号密码传回去。
//添加功能1:支持手动输入WIFI账号和密码
void