【STM32单片机】温湿度传感器如何上报至云平台教程(一)

STM32

1.打开STM32CubeMX 软件,点击New Project

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_16,color_FFFFFF,t_70,g_se,x_16

 

 

2.选择STM32F051K8Ux型号

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_17,color_FFFFFF,t_70,g_se,x_16

 

 

3. 点击OK按钮后

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_16,color_FFFFFF,t_70,g_se,x_16

 

 

4. 在右侧的引脚配置列表中分别找到RCC、TIM2、UART1、UART2,并进行配置

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

 

5. 选择PB0口,为Output口

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

 

6. 配置时钟频率

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

 

7.对串口1进行配置,将波特率设置为115200

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_13,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_13,color_FFFFFF,t_70,g_se,x_16

 

 

 

 

8. 将UART2波特率设置为9600

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

9.对GPIO口进行配置,设置为高电平

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

 

10. 对TIM2进行配置

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_11,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_11,color_FFFFFF,t_70,g_se,x_16

 

 

 

 

11. 生成代码,添加代码名称,并将Toolchain/IDE改为MDK-ARM V5

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_13,color_FFFFFF,t_70,g_se,x_16

 

 

12. 工程生成完成,点击Open Project按钮,此时会打开 Keil5 编辑器。点击编译按钮,完成工程编译

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

13. 添加DH11驱动头文件,将dht11.h文件拷贝到工程目录的Inc文件夹下

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_13,color_FFFFFF,t_70,g_se,x_16

 

14. 添加DH11驱动源文件,将dht11.c文件拷贝到工程目录的Src文件夹下

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_13,color_FFFFFF,t_70,g_se,x_16

 

15. 在Keil的Project面板中,鼠标右键单击Application/User,在弹出的菜单中,选择Add Existing Files to Group ‘Application/User’ ... 子菜单,添加DHT11.C文件

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_12,color_FFFFFF,t_70,g_se,x_16

 

16. 下面编程,首先添加头文件

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_11,color_FFFFFF,t_70,g_se,x_16

 

 

17. 传输数据,判断是否大于5s,并初始化

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_11,color_FFFFFF,t_70,g_se,x_16

 

 

18. 串口1、串口2的中断

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

 

19. 初始化串口1,串口2的接收缓冲区,和临时变量

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

 

20. 串口1的数据接收,如果遇到\n换行符,表示一个完整的字符接受完成

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

21. 接收AT指令,并将串口1的缓存清空

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16

 

22. 将串口2接受的数据存储在buf数组里,接收到"AT+MLWEVTIND=3"指令表示设备入网成功

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjUwNDMyMDU=,size_15,color_FFFFFF,t_70,g_se,x_16 

 

23. 编译,无报错

 

至此,实验完成!

 

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值