微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32输入捕获 仅求频率

STM32输入捕获 仅求频率

时间:10-02 整理:3721RD 点击:
    现在PWM输入捕获调通。但是如果我就想测一个周期,或者利用单独的输入捕获(非PWM式)的方法来求占空比,这样我可以利用通道1,2来测两路占空比了吧。
TIM_ICInitTypeDef  TIM_ICInitStructure;
TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;       //使用TIM 通道 2
  TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;   //TIM 输入捕获上升沿
  TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //TIM 输入2,3 或4 选择对应地与 IC1 或IC2 或IC3 或IC4 相连
  TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_div1;     //TIM 捕获在捕获输入上每探测到一个边沿执行一次
  TIM_ICInitStructure.TIM_ICFilter = 0x0f;            //选择输入比较滤波器
  TIM_PWMIConfig(TIM2, &TIM_ICInitStructure);                                         
/* Select the TIM2 Input Trigger: TI2FP2 */
  TIM_SelectInputTrigger(TIM2, TIM_TS_TI1FP1);  //TIM 经滤波定时器输入 2   
    /* Select the slave Mode: Reset Mode */
  TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Reset); //选中触发信号(TRGI)的上升沿重初始化计数器并触发寄存器的更新
    /* Enable the Master/Slave Mode */
  TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable); //设置或者重置TIMx主/从模式
    /* TIM enable counter */
  TIM_Cmd(TIM2, ENABLE);
    /* Enable the CC2 Interrupt Request */
  TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE);  //TIM 捕获/ 比较 2 中断源
这是我的PWM输入捕获,似乎网上的资源说的都是这种方法,没有输入捕获。
看32的资料说,PWM输入捕获,也就多设置几个地方。而这个配置,也没看出来是哪个地方多的?
求助这个的话应该怎么去配置。

这个是我理解错了吗?

        TIM_TimeBaseStructure.TIM_Period =60000;     //周期0~FFFF
          TIM_TimeBaseStructure.TIM_Prescaler = 14;       //时钟分频
          TIM_TimeBaseStructure.TIM_ClockDivision = 0;   //时钟分割
          TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//模式
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);//基本初始化
需要加上这几句

这个只是始终的设置吧?

时钟

我也遇到这个问题了,能测高电平,但是占空比测不出来。

占空比测不出来

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top