目录
1 目标
通过HAL库操作GPIO口,控制单总线协议的温湿度传感器DHT11
2 背景知识
2.1 DHT11
为了与DHT11进行数据交换,我们需要知道交互的协议,查阅手册。注意,不同厂家对时序定义可能不同
一次传送40bit数据,8位湿度整数,8位湿度小数,8位温度整数,8位温度小数,8位校验和,高位先出,需要注意的是小数部分为保留字段无意
起始请求,注意是至少拉低18ms

数据0表示

数据1表示

2.2 定时器
STM32有非常多种类的定时器,这里选择通用定时器TIM2进行解析

查阅手册,可以发现TIM2时钟线挂载在于PCLK1上,并通过分频最终供给TIM2

回到CubeMX,查看时钟树,得到TIM2频率为120MHz

定时器在每个时钟周期,计数值会+1/-1直到产生溢出发生更新事件,时钟还可以通过预分频系数进一步降低频率
对于TIM2,通过在CubeMX中查看Counter Period得知为32

2万+

被折叠的 条评论
为什么被折叠?



