紧急求助!!!!stm8s003 tim1的pwm输出程序我调试了两天了怎么也输出不了!请高人指点一下,谢谢啦!!!
TIM2的PWM可以输出就色TIM1的PC3-----7我想做成PWM输出,可怎么都没法输出!没有一个通道能输出,急死我!!
请大家帮我修改一下,谢谢!!
void InitTime1(void)
{
/******************************************
***********************************************/
TIM1_CCMR1 |= 0x78; /* Output mode PWM2.TIM_CNT>TIM_CCR时,输出有效电平,使能预装载 */
//TIM1_CCMR1 |= 0x70; /* Output mode PWM2.TIM_CNT>TIM_CCR时,输出有效电平,使能预装载 */
TIM1_CCER1 |= 0x03; /* CC polarity high,enable PWM output */
TIM1_ARRH = 0x07; /* Freq control register: ARR */
TIM1_ARRL = 0xD0; /* Freq control register: ARR */
TIM1_CCR1H = 0x03; /* Dutycycle control register: CCR */
TIM1_CCR1L = 0XE8; /* Dutycycle control register: CCR */
TIM1_BKR |=0X80; //MOE =1;主输出使能
//TIM1_RCR=200;
///TIM1_RCR=10;
TIM1_RCR=0x01; //重复计数器
TIM1_PSCRH = 00;
//TIM1_PSCRL = 0x1F; ///32分频=16M/32=500KHZ
TIM1_PSCRL = 0x07;//8分频=16M/8=2000KHZ
TIM1_CR1 |= 0x81; /* Enable TIM3. TIM3->ARR通 过预装载寄存器缓冲 */
//TIM1_CR1 |= 0x01; /* Enable TIM1. TIM3->ARR立 即写入影子寄存器 */
///TIM1_IER |= 0x01; //充许更新中断 UIE
}
void InitTime2(void)
{
/*定时器基础设置*/
CLK_CKDIVR= 0x00; //内部16M时钟不分频
TIM2_PSCR = 0x00; //定时器2预分频系数为1
TIM2_CR1 = 0x01; //内部计数器使能;
TIM2_ARRH = 0x01;//0140,320分频,16M/320=50K,实测49.75K
TIM2_ARRL = 0x3e;//自动装载寄存器低位;实测013e正好为50.0K
#if TIM2_PWM1
/*PWM通道1设置*/
TIM2_CCER1 |= 0x01; //开启OC1信号输出脚//CH1:PC5口输出;50KHz,占空比50%
TIM2_CCMR1 = 0x60; //PWM1模式
TIM2_CCR1H = 0x00; //占空比高位
TIM2_CCR1L = 0xa0; //占空比低位
TIM2_CCMR1 |= 0x08; //输出比较1预装载使能
#endif
}
|