搜索
bottom↓
回复: 13

求救!STM8S103F3 TIM2_CH1的PWM无法输出

[复制链接]
(307655867)

出0入0汤圆

发表于 2012-4-27 22:46:10 | 显示全部楼层 |阅读模式
STM8S103F3 TIM2_CH1的PWM无法输出,不知道我的程序哪里有问题,请高手指点,谢谢!

我想使用TIM2_CH1做PWM输出,可折腾了几天没有结果:)
//芯片型号:STM8S103F3P6  ,通道 TIM2_CH1
void pwm_init2(void)
{
        GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_OUT_PP_HIGH_FAST);
        TIM2_DeInit();
        TIM2_TimeBaseInit(TIM2_PRESCALER_1, 127);
        TIM2_CCxCmd(TIM2_CHANNEL_1, ENABLE);
        TIM2_OC1Init(TIM2_OCMODE_PWM2, TIM2_OUTPUTSTATE_ENABLE, 64, TIM2_OCPOLARITY_LOW);
        TIM2_OC1PreloadConfig(ENABLE);
        TIM2_ARRPreloadConfig(ENABLE);
        TIM2_ITConfig(TIM2_IT_UPDATE, DISABLE);

        TIM2_GenerateEvent(TIM2_EVENTSOURCE_UPDATE);
        TIM2_Cmd(ENABLE);
}
(304712491)

出0入0汤圆

发表于 2012-6-1 00:22:26 | 显示全部楼层
请注意要将芯片的PWM功能口打开,设置方法是用烧录软件选择这个口用的功能,然后再烧录一下,这样程序对了的话PWM就能出来了,
(304683661)

出0入0汤圆

发表于 2012-6-1 08:22:56 | 显示全部楼层
楼上的说的是PWM的复用的方法,不是复用脚用PWM和烧录配置位没有关系。我的就可以输出啊。
(304681391)

出0入0汤圆

发表于 2012-6-1 09:00:46 | 显示全部楼层
楼主,按规矩出牌,TIM2_CH1 管脚默认复用是SPI_CLK口,先用烧写器更改选项把它写成TIM2_CH1复用输出,再看看情况。
(291171583)

出0入0汤圆

发表于 2012-11-4 17:44:14 | 显示全部楼层
void TIM2_Config(void)
{
        CLK_PCKENR1 |= 0x20;//TIM2 CLK Enable!
        asm("nop");
        while(!(CLK_PCKENR1 & 0x01));
        TIM2_CR1 = 0x00;
       
        TIM2_PSCR = 0x00;//16/2^4

        TIM2_ARRH = 0x00;
        TIM2_ARRL = 0xFF;//
       
        TIM2_CCR1H = 0x01;
        TIM2_CCR1L = 0xf4;
       
        TIM2_CCR2H = 0x1;
        TIM2_CCR2L = 0xf4;
       
        TIM2_CCR3H = 0x01;
        TIM2_CCR3L = 0xf4;
               
        TIM2_CCMR1 = 0x70;
        TIM2_CCMR2 = 0x70;
        TIM2_CCMR3 = 0x70;
       
        TIM2_CCER1 = 0x33;
        TIM2_CCER2 = 0x03;
       
       
        TIM2_IER = 0x00;
        TIM2_CR1 |= 0x01;
        //TIM2_BKR = 0xc0;
}

STM8S103F3P6  输出 3路 PWM

亲测可用。
(290553926)

出0入0汤圆

发表于 2012-11-11 21:18:31 | 显示全部楼层
希望楼上的可用,
(290133803)

出0入0汤圆

发表于 2012-11-16 18:00:34 | 显示全部楼层
楼主,按规矩出牌,TIM2_CH1 管脚默认复用是SPI_CLK口,先用烧写器更改选项把它写成TIM2_CH1复用输出,再看看情况。  还得用烧写器来设置?那我用ST-LINK直接用KEIL下载 可以吗
(239697689)

出0入0汤圆

发表于 2014-6-23 12:02:28 | 显示全部楼层
lwg998 发表于 2012-11-16 18:00
楼主,按规矩出牌,TIM2_CH1 管脚默认复用是SPI_CLK口,先用烧写器更改选项把它写成TIM2_CH1复用输出,再看 ...

TIM2_CH1 是PD4脚,不是SPI_SCK脚吧。。。。
(239697674)

出0入0汤圆

发表于 2014-6-23 12:02:43 | 显示全部楼层
zlutian 发表于 2012-6-1 09:00
楼主,按规矩出牌,TIM2_CH1 管脚默认复用是SPI_CLK口,先用烧写器更改选项把它写成TIM2_CH1复用输出,再看 ...

TIM2_CH1 是PD4脚,不是SPI_SCK脚吧。。。。
(239537041)

出0入0汤圆

发表于 2014-6-25 08:39:56 | 显示全部楼层
楼主解决没有,我也遇到这个问题,解决不了,规格书上,PD4(TIM2_CH1)不是复用IO,不是用的PC5 那个脚,应该有输出的,难道规格书搞错了?
(237693814)

出0入0汤圆

发表于 2014-7-16 16:40:23 | 显示全部楼层
我最近也在搞这个  现在还没有搞出来 这个pwm
(235867114)

出0入0汤圆

发表于 2014-8-6 20:05:23 | 显示全部楼层
我也是遇到了这个问题,换成TIM2的CH2和CH3都没问题,CH1就是死活没反应。
锲而不舍搞了几个小时,才发现了原来使用TIM1_CH1时,修改了字节选项AFR0,把PC6口复用为了TIM1_CH1,这个字节选项同时也把TIM2_CH1复用到了PC5,而不是原来的PD4了!!!所以只要你这个芯片之前使用过TIM1_CH1引脚(这个引脚必须经过复用才能使用),你的TIM2_CH1就应该不是在PD4了。
这尼玛实在太坑爹了
(232419614)

出0入0汤圆

发表于 2014-9-15 17:43:43 | 显示全部楼层
stm8的东西太多坑了
(205575335)

出0入0汤圆

发表于 2015-7-23 10:28:22 | 显示全部楼层
首先要确认你的TIM1_CH1引脚是PD4还是PC5,如果是PD4就把PC5 TIM1_CH1复用功能关闭,如果是PC5就把PC5 TIM1_CH1复用功能打开,打开和关闭复用功能在配置项里面设定
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-1-26 18:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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