硬件软件
2018-05-23 21:42:24 9 举报
AI智能生成
登录查看完整内容
超声波
作者其他创作
大纲/内容
软件
PWM定时器模块
输出IO口配置
IO时钟使能
IO脚选择
设置推挽输出模式
使能IO
PWM定时器
分频
7199
10KHz
配置溢出值
999
PWM周期就是10ms
计数模式
向上计数
初始化定时器
设置定时器为PWM模式
设置通道口
输出使能
电平极性高
设置输出初始值
500
50%
使能计数器
DHT22模块
初始化
配置IO
PB3
设置推挽输出
复位DHT22
等待响应
读温湿度
按照时序读取
校验
串口
初始化串口
使能串口时钟
设置IO口
TXD
复用推挽输出
RXD
浮空输入
配置中断优先级
配置中断通道
配置抢占优先级
配置子优先级
使能中断通道
串口设置
设置波特率
2400
设置数据格式
8位数据
停止位1位
设置校验位
无校验位
设置收发模式
使能串口
开中断
串口中断
每次进入中断接收一个字符
判断是否是帧头?
不是则退出
是则接收帧头
接收完数据
赋值
完成位值1
主函数
main
初始化延时函数
设置中断优先级分组
配置串口
初始化IO
风扇控制口PB9
推挽输出
按键口
上拉输入
初始化PWM
等待DHT22初始化完成
主循环
读取温湿度
显示温湿度
判断PM2.5是否接收完成
显示数据
按键扫描
如果有按键按下?
消抖
判断确定有按键按下
按键1
风扇位取反
改变风扇IO输出
等待松手
按键2
PWM-100
按键3
PWM+100
根据风扇开关位显示状态
设置PWM
延时10ms
0 条评论
回复 删除
下一页