前言
以往采集数据均是采用Arduino开发板、esp32wifi模块等,本次实验采用的是STM32单片机,STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,功能非常强大,为本次实验提供了无限可能。
参考博客:https://blog.youkuaiyun.com/weixin_43271542/article/details/117384011?spm=1001.2014.3001.5502
1.实验原理
本项目采用ARM结构中最为代表的Cortex-M4系列的芯片,选用STM32F407ZGT6开发板进行项目开发,选用的传感器为常见通用的DHT11温湿度传感器。传感器将采集到的数据传输到STM32(MCU)主控进行数据处理,最后通过串口打印出来。
2.实验软硬件
2.1硬件
STM32F407ZGT6、DHT11温湿度传感器
硬件连接图
DHT11 STM32
data — 》 PG9
vcc — 》 5v
GND — 》 GND
2.2软件准备
所用的全部资料的下载链接:https://pan.baidu.com/s/1p0LfRRw54vqTtx1yKDsQwA
密码为:f22d
注:里面包括了keil5安装的步骤与开发环境搭建
Keil5
官方下载链接如下:http://www.keil.com/demo/eval/arm.htm
STM32f407固件库
官方下载链接如下:http://www.keil.com/dd2/pack
STM32CudeMx
官方下载链接如下:http://www.st.com/web/en/catalog/tools/PF259242
STM32CudeMx的f407软件包
官方下载链接如下:http://www.st.com/web/en/catalog/tools/PF259243
3.实验过程
3.1 keil5安装
请按照本人共享的链接里面的开发环境文件夹里面word文档进行操作,提取文件密码为:f22d
3.2 STM32CudeMx安装
(https://pan.baidu.com/s/1p0LfRRw54vqTtx1yKDsQwA)里面的STM32CudeMX文件夹里面word文档进行操作,提取文件密码为:f22d
3.3 BSP工程项目创建
①打开STM32CudeMX
②点击创建工程
③搜索STM32F407ZGT6,双击黄色区域
④点击Categories——》System Core ——》GPIO,选择PF9和PF10,各自点击为GPIO_OutPut
⑤对GPIO进行具体配置
⑥配置RCC时钟
⑦配置系统时钟
⑧这里以串口1为例 我们可以选择串口的模式(异步,同步,半双工) 串口接收中断
a)点击USATR1
b)设置MODE为异步通信(Asynchronous)
c)基础参数:波特率为115200 Bits/s。传输数据长度为8 Bit。奇偶检验无,停止位1 接收和发送都使能
d)GPIO引脚设置 USART1_RX/USART_TX
e) NVIC Settings 一栏使能接收中断