OpenEdv-开源电子网

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

刚刚接触F4为啥我使用TIMETR 外部计数测频率 一点都不准呢。。测量部分代码如下

[复制链接]

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2020-5-24
在线时间
33 小时
发表于 2020-5-29 17:52:55 | 显示全部楼层 |阅读模式
1金钱
#include "cap.h"
#include "delay.h"
#include "goal.h"
#include "stdio.h"

void time2_init(void)
{
       
         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
         TIM_TimeBaseInitTypeDef  TimeBaseStructure;
         NVIC_InitTypeDef NVIC_InitStructure;
          TIM_DeInit(TIM2);
    TimeBaseStructure.TIM_Period=9999;
          TimeBaseStructure.TIM_Prescaler=8399;
          TimeBaseStructure. TIM_CounterMode=TIM_CounterMode_Up;
          TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
          TIM_TimeBaseInit(TIM2,&TimeBaseStructure);
       
    TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
       
   // TIM_Cmd(TIM2,ENABLE);
       
  NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
   NVIC_Init(&NVIC_InitStructure);
    TIM_Cmd(TIM2,ENABLE);
}       

void time_cap_init(void)
{
   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE);
          RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
         
         TIM_TimeBaseInitTypeDef  TimeBaseStructure;
         GPIO_InitTypeDef  GPIO_InitStructure;
         
         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

   GPIO_Init(GPIOD,&GPIO_InitStructure);
         
         GPIO_PinAFConfig(GPIOD,GPIO_PinSource2,GPIO_AF_TIM3);
         
          TimeBaseStructure.TIM_Period=0XFFFFFFFF;
          TimeBaseStructure.TIM_Prescaler=0X0;
          TimeBaseStructure. TIM_CounterMode=TIM_CounterMode_Up;
          TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
         
         TIM_TimeBaseInit(TIM3,&TimeBaseStructure);
         TIM_ETRClockMode2Config(TIM3, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);


   TIM_SetCounter(TIM3,0);
   TIM_Cmd(TIM3,ENABLE);  
}

void TIM2_IRQHandler(void)
{
        if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)
        {  
                                           TIM_ClearITPendingBit (TIM2,TIM_IT_Update);  
               fre_input= TIM_GetCounter(TIM3);
                TIM_SetCounter(TIM3,0);

        }
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2020-4-29
在线时间
0 小时
发表于 2020-5-29 18:22:04 | 显示全部楼层
帮顶,大家来帮忙解答一下。。
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2020-5-24
在线时间
33 小时
 楼主| 发表于 2020-5-29 18:22:41 | 显示全部楼层
有大佬帮帮看看么
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-5-30 01:18:44 | 显示全部楼层
论坛参考下其他网友的
回复

使用道具 举报

18

主题

50

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1884
金钱
1884
注册时间
2017-10-8
在线时间
229 小时
发表于 2021-1-24 00:53:48 | 显示全部楼层
看看是不是GPIO的引脚设置的输入格式出现问题
回复

使用道具 举报

11

主题

2143

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4869
金钱
4869
注册时间
2015-1-10
在线时间
610 小时
发表于 2021-1-26 13:51:26 | 显示全部楼层
能用输入捕获就用输入捕获
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-14 09:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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