stm32f407输入捕获

STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等。


1.配置一般步骤

1.。初始化定时器和相应io口时钟;

2.。初始化io口,模式为复用 GPIO_Init();

3.。设置引脚复用映射

GPIO_PinAFConfig();

4.。初始化定时器 ARR,PSC

TIM_TimBaseInit();

5.。初始化输入捕获通道

TIM_ICInitTypeDef TIM_ICInitStructure;

TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
TIM_ICInitStructure.TIM_ICFilter = 0x0;//设置滤波器(不滤波)
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;//上升延捕获
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;//配置输入分频,不分频
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;//直接映射到TI1上
TIM_ICInit(TIM5,&TIM_ICInitStructure);

TIM_ICInit();

6.。开启捕获中断(如果需要)

TIM_ITConfig();

TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC1,ENABLE);//允许更新中断,允许cc1IE捕获中断

NVIC_Init();

7.。使能定时器: TIM_Cmd();

8.。编写中断服务函数: TIMx_IRQHandler();


  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值