我是靠谱客的博主 从容百褶裙,最近开发中收集的这篇文章主要介绍stm32标准库入门程序(笔记五输入捕获),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.RCC开启时钟(GPIO,TIM)

2.GPIO配置

3.时基单元配置

4.输入捕获单元配置

5.选择从模式的触发源

6.选择触发之后之后执行的操作

7.开启定时

 

#include "stm32f10x.h"                  // Device header

void IC_Init(void)
{
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	
	TIM_InternalClockConfig(TIM3);
	
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;//时基单元配置
	TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
	TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
	TIM_TimeBaseInitStructure.TIM_Period=65536-1;	//ARR
	TIM_TimeBaseInitStructure.TIM_Prescaler=72-1;//PSC
	TIM_TimeBaseInitStructure.TIM_RepetitionCounter=0;
	TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);
	
	
	TIM_ICInitTypeDef TIM_ICInitStructure;//输入捕获单元配置
	TIM_ICStructInit(&TIM_ICInitStructure);
	TIM_ICInitStructure.TIM_Channel=TIM_Channel_1;
	TIM_ICInitStructure.TIM_ICFilter=0XF;
	TIM_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;
	TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1 ;
	TIM_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;
	TIM_ICInit(TIM3,&TIM_ICInitStructure);
	
	TIM_SelectInputTrigger(TIM3,TIM_TS_ITR1);
	TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Reset);

	
	TIM_Cmd(TIM3,ENABLE);//开启定时
	

}
uint32_t IC_GetFreq(void){
	
	return 1000000/TIM_GetCapture1(TIM3);

}

最后

以上就是从容百褶裙为你收集整理的stm32标准库入门程序(笔记五输入捕获)的全部内容,希望文章能够帮你解决stm32标准库入门程序(笔记五输入捕获)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部