STM32:频率计(输入捕获模式).7z

时间:2024-08-19 17:38:08
【文件属性】:

文件名称:STM32:频率计(输入捕获模式).7z

文件大小:183KB

文件格式:7Z

更新时间:2024-08-19 17:38:08

STM32 频率计

#include "counter.h" #include "stdio.h" #include "usart.h" /*********************************************************************************************** //上升沿捕获 ************************************************************************************************/ TIM_ICInitTypeDef TIM3_ICInitStructure; void TIM3_counter_Init(u16 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能TIM5时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //PA7 清除之前设置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //PA7 浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_ResetBits(GPIOA,GPIO_Pin_7); //PA7 下拉 //初始化定时器5 TIM5 TIM_TimeBaseStructure.TIM_Period = arr; //设定计数器自动重装值 TIM_TimeBaseStructure.TIM_Prescaler =psc; //预分频器 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式 TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位 //初始化TIM5输入捕获参数 TIM3_ICInitStructure.TIM_Channel = TIM_Channel_2; // 选择输入端 IC1映射到TI1上 TIM3_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //上升沿捕获 TIM3_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上 TIM3_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配置输入分频,不分频 TIM3_ICInitStructure.TIM_ICFilter = 0x00; //IC1F=0000 配置输入滤波器 不滤波 TIM_ICInit(TIM3, &TIM3_ICInitStructure);


【文件预览】:
STM32:频率计(输入捕获模式)
----core()
--------core_cm3.c(17KB)
--------core_cm3.h(84KB)
--------startup_stm32f10x_hd.s(15KB)
----output()
--------counter.hex(25KB)
----keilkill.bat(399B)
----JLink Regs CM3.txt(497B)
----system()
--------usart()
--------delay()
--------sys()
----counter.uvopt(12KB)
----lib()
--------src()
--------inc()
----counter.uvgui.Administrator(72KB)
----listing()
----User()
--------stm32f10x_it.h(2KB)
--------squarewave.uvproj(580B)
--------stm32f10x_conf.h(3KB)
--------timer.c(2KB)
--------system_stm32f10x.h(2KB)
--------squarewave.uvgui.Administrator(65KB)
--------counter.h(116B)
--------stm32f10x_it.c(2KB)
--------stm32f10x.h(619KB)
--------system_stm32f10x.c(36KB)
--------counter.c(3KB)
--------squarewave.uvopt(892B)
--------timer.h(108B)
--------main.c(572B)
----counter.uvproj(19KB)
----JLinkSettings.ini(375B)

网友评论