OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3342|回复: 1

stm8s003 32引脚的芯片 tim1_ch2输出pwm信号的问题

[复制链接]

3

主题

3

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-10-5
在线时间
12 小时
发表于 2019-10-14 21:24:27 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 cwa369746568 于 2019-10-14 21:27 编辑

无法输出pwm信号 输出信号不是tim1_ch2
  1. /*  添加库函数头文件 */
  2. #include "stm8s.h"

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

  23.   while (1)
  24. {
  25.   }
  26. }
  27. void main(void)  
  28. {
  29.   //CLK_DeInit();//初始化clk相关寄存器为初始值
  30.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //内部时钟16M
  31.   Init_pwm();
  32.   enableInterrupts();
  33.   while(1);
  34. }
复制代码




最佳答案

查看完整内容[请看2#楼]

定时器功能是第二功能,需要在选项字中设置才能开启,如果没有设置选项字,默认的都是第一功能。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2019-10-14 21:24:28 | 显示全部楼层
定时器功能是第二功能,需要在选项字中设置才能开启,如果没有设置选项字,默认的都是第一功能。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 12:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表