用示波器检测没有PWM波输出
PWM波输出程序如下:
PC_DDR=0X30; //PC4(TIM1_CH4),PC5(TIM2_CH1)为PWM波的输出,设置为推挽输出模式,其他没用到的I/O口上拉输入
PC_CR1=0XFF;
PC_ODR = 0X00;
CLK_PCKENR1=0xA0; //使能外部时钟TIM1,TIM2;
TIM2_PSCR=0x03; //计数器的时钟频率为1MHz 8/2^3=1
TIM2_CCMR1 |= 0x70; // PWM 模式 2 通道1输出
TIM2_CCER1 |= 0x03; // CC1配置为输出
TIM2_ARRH = (u8)(PWM_Hz>>8); // 配置PWM分辨率为10位,PWM_Hz=500
TIM2_ARRL = (u8)(PWM_Hz); // PWM频率=1M/500=2KHz 0x01f4 频率为2K
TIM2_CCR1H = (u8)(P_CCR1>>8);
TIM2_CCR1L = (u8)(P_CCR1); //高8位直接舍去
TIM2_CR1 |= 0x01;
TIM1_PSCRH=0X00;
TIM1_PSCRL=0x07; //计数器的时钟频率为1MHz 8/(7+1)=1
TIM1_CCMR4 |= 0x70;
TIM1_CCER2 |=0x30;
TIM1_ARRH = (u8)(PWM_Hz>>8);
TIM1_ARRL = (u8)(PWM_Hz);
TIM1_CCR4H =(u8)(P_CCR2>>8);
TIM1_CCR4L =(u8)(P_CCR2);
TIM1_CR1 |= 0x01;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>