这是一个使用STM32F103CxT6 HAL的项目,功能是使用DHT11获取当前温湿度然后显示到LCD屏幕上。
项目使用到了以下外设: GPIO, TIM, SPI, DMA;
其中SPI和USART使用了DMA,所以刷屏速度很快。
我近期在忙的项目分支之一,同时也作为一个“任务”。
在这我提供我使用F103CBT6写的项目地址,里面有我上传的代码但不是最新的,优化完之后便会上传。
WeACT_BulePillhttps://github.com/chixiaoshu/WeAct_BluePill
目录
一、系统定义
引脚定义
定时器定义
SPI定义
我在这里说明一下,我的项目不是单一实现某个功能的,而是把我用到的引脚都定义好了。
二、源码部分
DHT11 模块
"dht11.c"
#include "dht11.h"
#include <stdint.h>
void Delay_us(uint8_t us)
{
uint16_t differ = 0xffff - us - 5;
__HAL_TIM_SET_COUNTER(&DHT11_TIMER, differ); // 设定TIM计数器起始值
HAL_TIM_Base_Start(&DHT11_TIMER); //