注意定時器來著APB1還是APB2,二者頻率不一樣,配置PSC要注意
(1)高級定時器timer1, timer8以及通用定時器timer9, timer10, timer11的時鐘來源是APB2總線
(2)通用定時器timer2-timer5,通用定時器timer12-timer14以及基本定時器timer6,timer7的時鐘來源是APB1總線
我拿tim14去做微秒級延時PSC為167,一直讀取不到dht11數據,真搞心態啊
tim14在apb1,頻率是84
延時函數 可直接復制
#define DLY_TIM_Handle (&htim14)
void delay_us(uint32_t nus)
{__HAL_TIM_SET_COUNTER(DLY_TIM_Handle, 0);__HAL_TIM_ENABLE(DLY_TIM_Handle);while (__HAL_TIM_GET_COUNTER(DLY_TIM_Handle) < nus){}__HAL_TIM_DISABLE(DLY_TIM_Handle);
}