OpenEdv-开源电子网

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

stm32的定时器8的计数器怎么不及时

[复制链接]

1

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2940
金钱
2940
注册时间
2017-3-6
在线时间
399 小时
发表于 2017-3-6 09:08:52 | 显示全部楼层 |阅读模式
1金钱
各位好兄弟好姐妹,我用stm32的定时器8怎么会没有pwm波产生,定时器1就有,按理说定时器1和定时器8的配置是一样的不对吗,程序在下面,麻烦各位帮我看下

       
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        TIM_OCInitTypeDef TIM_OCInitStructure;
        TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
       
#if 1
        //==================================================================================
        // ¿aê±Öó
        //==================================================================================
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8 , ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
       
       
        //==================================================================================
        // PC6 PC7 PC8(TIMER8 CH1 CH2 CH3)
        //==================================================================================
    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;                                 
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC,&GPIO_InitStructure);
       
       
        //==================================================================================
        // ¶¨ê±Æ÷8ÅäÖÃ
        //==================================================================================
        TIM_TimeBaseStructure.TIM_Prescaler = 0;                                                // Ô¤·ÖÆμÖμ
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Down;                // ÏòéϼÆêyÄ£ê½
        TIM_TimeBaseStructure.TIM_Period = 2196;                                                // ×Ô¶ˉ֨װ¼Ä′æÆ÷ÖüÆúÖμ
        TIM_TimeBaseStructure.TIM_ClockDivision = 0;                                        // ±¶ÆμÖμ
        TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;                                // ÖØ¸′¼ÆêyÖμ

        TIM_TimeBaseInit(TIM8,  &TIM_TimeBaseStructure);                                // 3õê¼»ˉ

        //==================================================================================
        // êä3öí¨μàÅäÖÃ
        //==================================================================================
        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        TIM_OCInitStructure.TIM_OutputNState = TIM_OutputState_Disable;         // »¥21êä3öê§Äü

        TIM_OCInitStructure.TIM_Pulse = 1098;                                                         // Âö3å¿í¶è£¬óéÕa¸öéèÖÃÕ¼¿Õ±è
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;                 // μíμçÆ½óDD§
        TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;                  // ¿ÕÏDê±1ü½Å¸ßμçÆ½
       
//        TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low;
//        TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
        TIM_OC1Init(TIM8, &TIM_OCInitStructure);
        TIM_OC2Init(TIM8, &TIM_OCInitStructure);
        TIM_OC3Init(TIM8, &TIM_OCInitStructure);
        TIM_OC4Init(TIM8, &TIM_OCInitStructure);

        TIM_OC3PreloadConfig(TIM8,TIM_OCPreload_Enable);

        TIM_CCPreloadControl(TIM8, DISABLE);                                                         // Çå3yTIMíaéè2¶»ñ±è½ÏÔ¤×°ÔØ¿ØÖÆÎ»
        TIM_ARRPreloadConfig(TIM8, ENABLE);




        // ê1ÄüTIM8
        TIM_Cmd(TIM8, ENABLE);
        TIM_CtrlPWMOutputs(TIM8, ENABLE);
#endif

最佳答案

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

就是st的芯片,已经弄好了,就是他的定时器8本身用软件仿真看不了波形,但用示波器可以观察到波形,和程序没关
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2940
金钱
2940
注册时间
2017-3-6
在线时间
399 小时
 楼主| 发表于 2017-3-6 09:08:53 | 显示全部楼层
wmaxwell 发表于 2017-3-6 09:31
你用的什么芯片?软件仿真也是看不到波形的

就是st的芯片,已经弄好了,就是他的定时器8本身用软件仿真看不了波形,但用示波器可以观察到波形,和程序没关
回复

使用道具 举报

3

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2013-12-24
在线时间
28 小时
发表于 2017-3-6 09:31:07 | 显示全部楼层
你用的什么芯片?软件仿真也是看不到波形的
回复

使用道具 举报

13

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2017-2-4
在线时间
55 小时
发表于 2017-3-6 16:55:53 | 显示全部楼层
好像是用复用功能还是重映射功能的时候软件仿真时看不到波形的。
回复

使用道具 举报

1

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2940
金钱
2940
注册时间
2017-3-6
在线时间
399 小时
 楼主| 发表于 2017-3-7 08:43:29 | 显示全部楼层
wdodo0929 发表于 2017-3-6 16:55
好像是用复用功能还是重映射功能的时候软件仿真时看不到波形的。

不对把,怎么定时器1就可以看到波形呢,定时器1也是高级定时器,管脚也是配置成复用
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-23 17:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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