第七节:项目完善与总结回顾(黄老师)

一、功能改进

通过上节课,我们已经把程序的大概框架写出来了,以及能实现我们想要的一些功能了,包括:连接上我们设置的WIFI,并通过WIFI和手机进行通信,接收到相应的数据控制开发板LED的亮灭。
但是程序里还有许多弊端,需要我们去改进,这里主要添加了两个功能。

1.利用串口输入WIFI账号密码

原来的代码是直接设置了一个WIFI的账号和密码,但是在实际生活中,我们经常需要改变我们所连接的网络,例如在上班或学习的地方连接一个WIFI,在路上使用4G/5G网络,回家使用自己的WIFI。
在手机上我们可以很轻松的完成这些配置,但是在我们使用的STM32MINI开发板上,因为外设有限,所以我们选择使用串口,利用计算机来输入WIFI的账号密码,并通过串口传输到开发板上。
优化代码如下:
在这里插入图片描述
这里我们还是设置一个默认的WIFI,并且通过复位后在设定的等待时间内按下按键再获取更新WIFI,这样就不必每次开启都要输入账号密码。

获取WIFI账号密码:
while(ch != 'r'):判断是否输入完成,当我们输入完成时,默认是通过按下键盘上的回车键来结束本次输入,Windows的回车键代表的数据是\r\n,其中\r是回车,\n代表换行,因此我们可以根据获取的数据中是否有\r来判断。
getchar():用于从串口获取数据,每次获取一个字符。
if(ch > ' '):通过判断是否大于空格,除去非法输入。原因:我们输入的内容是以ASCII码的形式来表示的,并且不止是我们输入的A、B、C等是ASCII码表示,而且像方向键,回车键等一些控制字符,也是如此,而在ASCII码表上,空格之前的字符都是一些控制字符大于空格的则是我们常见的数据字符,因此我们使用这个方法来除去非法输入。
printf("%c",ch):输入回显。

2.IP地址展示优化

原来我们打印IP地址后,打印出的内容除了IP地址外,还有MAC地址,以及一些提示字符,有时候这些其他的内容并不是我们需要的,这里我们进行一些优化,让打印的内容只有IP地址。
默认情况下我们打印出的内容如下:
在这里插入图片描述
优化代码如下:
在这里插入图片描述
strstr:首先是通过字符串查找函数,找到STAIP的位置,此时我们打印出的内容就变成了STAIP,"192.....",这里我们再进行+6操作,向右移动6位,就直接从"192.."开始打印了。
while(buf[len] != 'r'):为了只显示IP地址,我们还需要把后面的MAC层地址的输出也去掉,这里我们创建了一个ip_buf用来存放最终的内容,我们根据原来输出的内容可知,当IP地址打印结束后,会进行换行,所以我们通过比较,找到'\r'回车,就找到了我们想要的内容。

二、回顾总结

首先是黄老师提到的,我们需要锻炼的是我们看手册编写代码的能力,这样我们在实际工作中才能游刃有余,不会说换了一个芯片就不会做了。
除此之后就是,我们需要掌握常见的通信协议,除了本次课程提到的串口,还有I2CSPI这种能够一对多的通信协议,也是我们需要掌握的。

最后是我自己的总结,我自己的情况是,寒假的时候听了郭天祥老师的单片机前八讲,完成了相应的课后题也写了博客,应该可以算是有所了解了,但是还没有做过什么项目,之后会选择利用51单片机去做一些项目。
而接触百问网的这个物联网七天课程纯属机缘巧合,本来我也是打算学完51后就接触STM32,当时还不知道要看谁的课比较好,正好看见了韦老师的这门课程,一直听说过韦老师,但是还没有听过,就想着了解一下,虽然我现在还没有去听提高班的内容,因为我基础不是很扎实,准备看完基础班再看提高班,但是从团队中黄老师的授课我们也可以窥见韦老师的课肯定也是不差的,所以现在的打算是根据MINI开发板的学习手册学一遍,然后如韦老师说的,学到定时器部分了就可以去上手RTOS了,这时候我再去听提高班进行提升,暂时就先这样

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值