野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10658|回复: 2

通用定时器4输入捕获测PWM的占空比和频率不进入中断

[复制链接]
发表于 2017-8-2 18:20:28 | 显示全部楼层 |阅读模式
本帖最后由 黑白镌永 于 2017-8-2 18:58 编辑

我用定时器8产生PWM波,用定时器4输入捕获,现在的问题是串口助手没有任何输出,PWM波用示波器看过有输出,好像是没有进入中断,请大家帮忙看看
  1. #define            GENERAL_TIM4                   TIM4
  2. #define            GENERAL_TIM4_APBxClock_FUN     RCC_APB1PeriphClockCmd
  3. #define            GENERAL_TIM4_CLK               RCC_APB1Periph_TIM4

  4. // 输入捕获能捕获到的最小的频率为 72M/{ (ARR+1)*(PSC+1) }
  5. #define            GENERAL_TIM4_PERIOD            (1000-1)
  6. #define            GENERAL_TIM4_PSC               (72-1)

  7. // 中断相关宏定义
  8. #define            GENERAL_TIM4_IRQ               TIM1_CC_IRQn
  9. #define            GENERAL_TIM4_IRQHandler        TIM4_CC_IRQHandler

  10. // TIM1 输入捕获通道1
  11. #define            GENERAL_TIM4_CH1_GPIO_CLK      RCC_APB2Periph_GPIOB
  12. #define            GENERAL_TIM4_CH1_PORT          GPIOB
  13. #define            GENERAL_TIM4_CH1_PIN           GPIO_Pin_6

  14. #define            GENERAL_TIM4_IC1PWM_CHANNEL    TIM_Channel_1
  15. #define            GENERAL_TIM4_IC2PWM_CHANNEL    TIM_Channel_2
复制代码

  1. static void General_TIM4_NVIC_Config(void)
  2. {
  3.     NVIC_InitTypeDef NVIC_TIM4_InitStructure;
  4.     // 设置中断组为0
  5.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);               
  6.                 // 设置中断来源
  7.     NVIC_TIM4_InitStructure.NVIC_IRQChannel = GENERAL_TIM4_IRQ;         
  8.                 // 设置抢占优先级
  9.     NVIC_TIM4_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;         
  10.           // 设置子优先级
  11.     NVIC_TIM4_InitStructure.NVIC_IRQChannelSubPriority = 0;        
  12.     NVIC_TIM4_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  13.     NVIC_Init(&NVIC_TIM4_InitStructure);
  14. }
复制代码
  1. static void General_TIM4_GPIO_Config(void)
  2. {
  3.   GPIO_InitTypeDef GPIO_TIM4_InitStructure;

  4.         RCC_APB2PeriphClockCmd(GENERAL_TIM4_CH1_GPIO_CLK, ENABLE);
  5.   GPIO_TIM4_InitStructure.GPIO_Pin =  GENERAL_TIM4_CH1_PIN;
  6.   GPIO_TIM4_InitStructure.GPIO_Mode = GPIO_Mode_IPD;  
  7.   GPIO_Init(GENERAL_TIM4_CH1_PORT, &GPIO_TIM4_InitStructure);        
  8. }
复制代码
  1. <blockquote>static void General_TIM4_Mode_Config(void)
复制代码


回复

使用道具 举报

发表于 2017-8-3 08:47:02 | 显示全部楼层
你没有开启中断吧
回复 支持 反对

使用道具 举报

发表于 2018-6-28 11:08:02 | 显示全部楼层
F407也遇到了这个问题
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-15 08:03 , Processed in 0.065003 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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