STM32F1 AM2311 温湿度传感器 单总线通信

大家好,本人小白一个,最近在使用到了温湿度传感器AM2311,虽然原子哥的代码当中,有温湿度传感器的模块,相对而言比较简陋。这次采用AM2311作为数据采集模块,优点在于有IIC和单总线通信两种方式,不过小弟手贱,买了一堆单总线通信方式的模块。花了一天多的时间,才将这个模块搞定,在这里和大家分享一下。

重点!重点!重点!

如何读懂手册,AM2311单总线通信方式,网上几乎没有完整的代码,所以,产品手册就显得十分重要。

话不多说,先上图。这是千辛万苦找到生产厂家要的,没有PDF版,稍后会附上链接。

代码下载链接:

STM32F1 AM2311 温湿度传感器 单总线通信_第1张图片

STM32F1 AM2311 温湿度传感器 单总线通信_第2张图片

 

STM32F1 AM2311 温湿度传感器 单总线通信_第3张图片

一大堆图,总是让人反感的,我想在这里写上自己感悟。

1.学会静下心来看图,只要读懂了手册里的东西,肯定玩转这些模块。

2.学会自己写通信协议,淘宝上找了N久,就只搞到了这个使用手册,没有源代码,难道项目就不做了吗?

3.学会抄袭,单总线通信,第一次接触,不免手生,然后就去翻看了原子哥单总线通信的代码,给我了一些小小的启发。

4.不要再通信协议当中使用任何与数据接收发送无关的代码,很容易造成数据不准。

写代码花了一个小时,检查代码花了1天,为什么呢?在us级的读数过程中,我使用了printf语句,想要打印出每一个阶段的数据。结果,导致接受的数据只有35位左右(标准是40位的数据返回),最后才发现这个问题,在此记录,下次不能再犯这样的地基错误。

 

STM32F1 AM2311 温湿度传感器 单总线通信_第4张图片

呈上一张串口数据图,以证无误。

下面附上下载链接:
http://www.51hei.com/bbs/dpj-166509-1.html



 

 

 

 

 

 

你可能感兴趣的:(stm32)