一、Cubemx配置
使用定时器来实现 us延时 和 ms延时,us延时用于 模拟IIC通讯,OLED中。
1.定时器配置
2.添加代码,在tim用户自定义函数中。
void delay_us(uint16_t us)
{ //微秒延时
uint16_t differ = 0xffff-us-5;
__HAL_TIM_SET_COUNTER(&htim4,differ); //设定TIM1计数器起始值
HAL_TIM_Base_Start(&htim4); //启动定时器
while(differ < 0xffff-5){ //判断
differ = __HAL_TIM_GET_COUNTER(&htim4); //查询计数器的计数值
}
HAL_TIM_Base_Stop(&htim4);
}