
因为用stm32f103c8 因此想到外部时钟触发模式 RCC_ClocksTypeDef RCC_ClockFreq; SystemInit();//源自system_stm32f10x.c文件,只需要调用此函数,则可完成RCC的配置. RCC_GetClocksFreq(&RCC_ClockFreq); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); void main(void) { u16COUN1=0; u16 COUN2=0; while(1) {undefined COUN1=TIM1->CNT; } } GPIO_InitTypeDefGPIO_InitStructure; /*PA0,PA12-> 左右脉冲输入 */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //50M时钟速度 GPIO_Init(GPIOA, &GPIO_InitStructure); voidTIM1_Configuration(void) //只用一个外部脉冲端口 { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //配置TIMER1作为计数器 TIM_DeInit(TIM1); TIM_TimeBaseStructure.TIM_Period = 0xFFFF; TIM_TimeBaseStructure.TIM_Prescaler = 0x00; TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); // Time base configuration TIM_ETRClockMode2Config(TIM1, TIM_ExtTRGPSC_OFF,TIM_ExtTRGPolarity_NonInverted, 0); TIM_SetCounter(TIM1,0); TIM_Cmd(TIM1, ENABLE); } 程序解释: 注意: 第一步:(1)stm32f103c8只有TIM1_ETR(PA12,Pin33) (2)外部时钟输入与中断无关 第二步:设置RCC第三步,设置定时器模式 第三步,设置定时器模式 第四步,可以在主函数中读取计数器的值,其它的应用,就看具体的情况了。 ———————————————— 版权声明:赵福帅 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南