使用的是
STM32L0系列,准备使用延时函数使PWM波形移相,现在延时函数不起作用
delay.c函数如下:
//us
void delay_us(uint32_t nus)
{
uint32_t temp;
Sys
tick->LOAD = 30*nus;
SysTick->VAL=0X00;
SysTick->CTRL=0X01;
do
{
temp=SysTick->CTRL;
}while((temp 0x01) (!(temp (1<<16))));
SysTick->CTRL=0x00;
SysTick->VAL =0X00;
}
main函数使用delay如下:
HAL_TIM_PWM_Start( htim2, TIM_CHANNEL_4);
delay_us(20);
HAL_TIM_PWM_Start( htim2, TIM_CHANNEL_2);
但是定时器2的2通道输出PWM波并没有发生延时变化,这是为什么?