zoukankan      html  css  js  c++  java
  • sTM32 使用TIMx_CH1作为 Tx1F_ED 计数器时钟

    环境:iar arm 5.3 

    stm32f103vbt6  

    使用PA.8 外部输入10Mhz的方波。可从systick中断得到数据4. 

    4×5000(预分频值)×1000(tick中断时间)=20MHz 

    属于双边沿检测,一个PA.8个脉冲有2个边沿,所以时钟加倍。

    由于使用了TI1F_ED它的结构如下:

    void RCC_Configuration( void )
    {
      /* Setup STM32 system (clock, PLL and Flash configuration) */
      SystemInit( );
      
      /* Enable GPIOA, GPIOC and USART1 clock  */
      RCC_APB2PeriphClockCmd(
        RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC | RCC_APB2Periph_TIM1, ENABLE );
    }
    
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    
    void TIM1_Init( void )
    {
      
      TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
      
      TIM_TimeBaseStructure.TIM_Period = 65535;
      TIM_TimeBaseStructure.TIM_Prescaler = 5000;
      TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
      TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
      TIM_TimeBaseInit( TIM1, &TIM_TimeBaseStructure );
      
      TIM_TIxExternalClockConfig( TIM1, TIM_TIxExternalCLK1Source_TI1ED,
        TIM_ICPolarity_Rising, 0 );
      
      TIM_Cmd( TIM1, ENABLE );
      
    }
    
    int main( void )
    {
      RCC_Configuration( );
      GPIO_Config( );
      TIM1_Init( );
      /* Setup SysTick Timer for 1 msec interrupts  */
      if ( SysTick_Config( SystemFrequency / 1000 ) )
      {
        /* Capture error */
        while ( 1 )
          ;
      }
      
      while ( 1 )
      {
      }
    }
    
    void SysTick_Handler( void )
    {
      static u32 i = 0;
      
      if ( i == 0 )
      {
        i = 1;
        gusData = 0;
        TIM_SetCounter( TIM1, 0 );
        
      }
      else
      {
        i = 0;
        gusData = TIM_GetCounter( TIM1 );
        
      }
      
    }
  • 相关阅读:
    洛谷P5173 传球(暴力)
    uoj#402. 【CTSC2018】混合果汁(主席树+二分)
    uoj#401. 【CTSC2018】青蕈领主(分治FFT)
    uoj#400. 【CTSC2018】暴力写挂(边分治)
    uoj#399. 【CTSC2018】假面(概率期望)
    P4769 [NOI2018]冒泡排序(dp)
    洛谷P3688/uoj#291. [ZJOI2017]树状数组
    uoj#290. 【ZJOI2017】仙人掌(数数+仙人掌+树形dp)
    Git环境部署
    mysql修改密码
  • 原文地址:https://www.cnblogs.com/shangdawei/p/4765203.html
Copyright © 2011-2022 走看看