作者:陈广
日期:2021-12-4
dht11.c 文件源码:
#include "tim.h"
/* TIM6 init function */
void MX_TIM6_Init(void)
{
/* USER CODE BEGIN TIM6_Init 0 */
/* USER CODE END TIM6_Init 0 */
LL_TIM_InitTypeDef TIM_InitStruct = {0};
/* Peripheral clock enable */
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM6);
/* TIM6 interrupt Init */
/* USER CODE BEGIN TIM6_Init 1 */
/* USER CODE END TIM6_Init 1 */
TIM_InitStruct.Prescaler = 7199;
TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
TIM_InitStruct.Autoreload = 4999;
LL_TIM_Init(TIM6, &TIM_InitStruct);
LL_TIM_DisableARRPreload(TIM6);
LL_TIM_SetTriggerOutput(TIM6, LL_TIM_TRGO_RESET);
LL_TIM_DisableMasterSlaveMode(TIM6);
/* USER CODE BEGIN TIM6_Init 2 */
/* USER CODE END TIM6_Init 2 */
}
/* USER CODE BEGIN 1 */
void Delay_ms(uint32_t delay)
{
TIM6->PSC = 7200 - 1;
TIM6->ARR = 10 * delay - 1;
TIM6->EGR |= 1;
TIM6->CR1 = 0x0D;
while(!(TIM6->SR));
TIM6->SR = 0;
}
void Delay_us(uint32_t delay)
{
TIM6->PSC = 8 - 1;
TIM6->ARR = 9 * delay - 1;
TIM6->EGR |= 1;
TIM6->CR1 = 0x0D;
while(!(TIM6->SR));
TIM6->SR = 0;
}
/* USER CODE END 1 */
;