STM8S003 程序无法输出pwm的问题

[复制链接]
551|0
 楼主| 陈胖子 发表于 2019-10-14 19:53 | 显示全部楼层 |阅读模式
stm8s003用tim1_ch2输出pwm  一直无法输出


  1. /*  添加库函数头文件 */
  2. #include "stm8s.h"

  3. //数码管0 ~ F的代码数组
  4. //u8 const Data[16] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};


  5. void Init_pwm()
  6. {
  7. GPIO_Init(GPIOC, GPIO_PIN_2, GPIO_MODE_OUT_PP_LOW_FAST);   //输出推拉,低电平,10MHz
  8. TIM1_DeInit();
  9. TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 800, 0x00);//250
  10. TIM1_OC2Init(TIM1_OCMODE_PWM1, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_ENABLE, 400,
  11.              TIM1_OCPOLARITY_LOW, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET,
  12.             TIM1_OCNIDLESTATE_RESET);//50%占空比
  13. TIM1_CCxCmd(TIM1_CHANNEL_2, ENABLE);
  14. TIM1_OC2PreloadConfig(ENABLE);
  15. TIM1_CtrlPWMOutputs(ENABLE); //TIM1输出使能
  16. TIM1_Cmd(ENABLE);//TIM1使能
  17. //TIM1->CCER1 |= 0x10; //开启OC2信号输出脚
  18. // TIM1->CCMR2 = 0x60; //PWM1模式
  19. // TIM1->CCR2H = 0x00; //占空比高位
  20. //TIM1->CCR2L = 0x37; //占空比低位
  21. // TIM1->CCMR2 |= 0x08; //输出比较2预装载使能
  22. }
  23. void assert_failed(u8* file, u32 line)
  24. {

  25.   while (1)
  26. {
  27.   }
  28. }
  29. void main(void)  
  30. {
  31.   //CLK_DeInit();//初始化clk相关寄存器为初始值
  32.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //内部时钟16M
  33.   Init_pwm();
  34.   enableInterrupts();
  35.   while(1);
  36. }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部