基于STM32F407ZGT6的学习笔记(7)

一、关于数字温湿度传感器的控制(DHT11)

DATA引脚用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:

一次完整的数据传输为40bit,高位先出。

数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。

数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。

①整个的通信过程

8dfdbcc4f9d4442d84e0845a000c560f.png

889d409e36674f13a924921f933683b5.png

 ②通信开始部分

6b4d84a60c9941be8dd8f29e9abfd1f2.png0a99af944bdc4505b661a3c83753353e.png d29de56105ef4a6cbf0ff7536a898334.png 

 ③通信数据的接收                                                   3767bc53693048a9a4104105178798a3.png

b88401798d3e4cceae00d82cbbe57ff4.png 

c7a05fb996e244fbbbae54a3d0506614.png 

 二、关于独立看门狗的使用

    对于独立看门狗,它拥有独立的时钟源,假如PLL崩溃了,它还能继续工作,这是其优势所在!

①独立看门狗的初始化

ce359241e13d4bea93e20ae6d2a61a2a.png

② 如果不在主函数或者中断服务函数再次添加IWDG_ReloadCounter()函数,则看门狗将会在(计数值/分频值)秒内不断复位!

 38039469267f462db6330b6edea679ca.png

d3e22caf5c464864afccc4f8e9002e40.png 

③在添加IWDG_ReloadCounter()函数时,如果还有延时,那么延时时间不可超过(计数值/分频值)秒,否则仍然会不断复位!

 11f94f7252c9405fa0b1994d18a1c292.png 此时设置为一秒钟喂一次狗!延时超过一秒,则看门狗将不断复位!

ad6ea1b39a9b431ab5da9687ad9dd8ab.png

 故由于上述原因,一般在定时器的中断函数中进行喂狗!因为如果在主函数中喂狗将会出现问题,因为不确定前面的任务要执行多久。

④添加复位检测代码

添加复位检测代码,有助于观察当前产品工作的可靠性,如果看门狗复位次数过多,请检查硬件与软件是否有问题的。

 

在该函数下,如果是独立看门狗导致的复位则打印输出:iwdg reset cpu,否则视为:normal reset cpu !

5ba8ee4f39f448ffb3e322ea9ff40a32.png

 注:看门狗一旦打开则很难关闭,除非再次复位。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值