在单片机编程中需要与其他模块进行通信时会经常用到IIC协议和SPI协议,对于新人来说,这两个协议理解起来简单但实际自己写底层协议的时候却很麻烦,参照着时序图问题还是很多,撸代码撸不下去索性就拿来直接用。
要写IIC和SPI协议的话主要还是要对时序图熟悉,而这里我觉得超声波测距(HC-SR04)这个小项目用来练习对时序图代码实现非常合适,本身这个底层协议并不难,很方便检查bug的所在,然后这个测距这个功能也非常实用,我觉得也会比较有兴趣吧。话不多说,这里我从思路到思路的实现来讲述超声波测距的实现过程。
本文排布如下
超声波测距模块硬件介绍
主要思路
实现过程
一、超声波测距模块的硬件介绍
四个引脚,VCC和GND供电和接地,接下来是触发信号输入引脚Trig和回响信号输出引脚Echo。
Trig:针对这个模块来说Trig脚是输入,而我们在单片机上需要在这个引脚中输出一个10us以上的高电平,这时候就会驱动这个超声波模块发出声波。
Echo: 针对这个模块Echo是输出,接下来它会自动接收超声波,并且接收完后在Echo这个输出脚上输出一段高电平,这个高电平的时间就是声波发出并且反射回来所用的时间,所以我们在单片机中就需要读取这个引脚。
二、主要思路