1
一、我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用、积木化、功能重组的智能硬件模块构想
二、别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计硬件积木的!
三、MCU选型:如何为编程爱好者设计一款好玩的智能硬件(三)——该选什么样的MCU呢?
四、温湿度传感器DHT11驱动封装(上):如何为编程爱好者设计一款好玩的智能硬件(四)——初尝试·把温湿度给收集了(上)!
先打个预防针——本篇可能比较枯燥!与上一篇图文代码并茂挖空心思讲DHT11的驱动程序的写法不同,本篇将到处都是代码!更坑的是会出现基于AT89C52平台的DHT11驱动C语言代码、基于CC2541平台的 DHT11的C语言驱动代码、以及基于STM32平台的DHT11的C语言驱动代码。然后最终根据这三个平台的不同情况抽象出一个尽量和平台无关、方便移植的DHT11底层驱动代码,便于我们今后编写”X-积木OS”。
之所以用这种从普遍情况中找共性的笨方法写DHT11平台无关的驱动,是因为我水平有限,感觉直接从上(datasheet中的通信协议)到下(和平台无关的驱动底层封装)力不从心——不过我也正在努力学习linux 系统的c程序架构方式,只是现在还不敢拿出来试手。
为了方便展示DHT11底层驱动在各个平台上的共性(驱动协议)和平台特性,我将用不同的颜色表示平台共性中通信协议的不同过程:
红色表示:协议中启动读数据部分
绿色表示:协议中DHT11应答MCU部分
蓝色表示:MCU读取DHT11的40bit数据部分
黑色表示:协议中终止读取数据部分
接着会在代码后面谈其平台特性,并提出针对这些平台特性的解决方法。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !