请问,N32G45x编码器输入最高频率是多少?不知道是不是我设置不对,我最高只能输入1M多一点,定时器时钟已经调到最高了
/*****************************************************************/
/* Enable clock */
/*****************************************************************/
RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_TIM1, ENABLE);
RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_AFIO | RCC_APB2_PERIPH_GPIOA , ENABLE);
NVIC_InitType NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;
NVIC_Init(&NVIC_InitStructure);
GPIO_InitType GPIO_InitStructure;
GPIO_InitStruct(&GPIO_InitStructure);
//PA8 - Encode Signal1
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.Pin = GPIO_PIN_8;
GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);
//PA9 - Encode Signal2
GPIO_InitStructure.Pin = GPIO_PIN_9;
GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);
/*****************************************************************/
/* TIMX configuration */
/*****************************************************************/
TIM_TimeBaseInitType TIM_TimeBaseStructure;
TIM_ICInitType TIM_ICInitStructure;
TIM_DeInit(TIM1);
TIM_InitTimBaseStruct(&TIM_TimeBaseStructure);
TIM_TimeBaseStructure.Period = ENCODER_TIM_PERIOD - 1;
TIM_TimeBaseStructure.Prescaler = 0;
TIM_TimeBaseStructure.ClkDiv = TIM_CLK_DIV1;
TIM_TimeBaseStructure.CntMode = TIM_CNT_MODE_UP;
TIM_InitTimeBase(TIM1, &TIM_TimeBaseStructure);
TIM_ConfigEncoderInterface(TIM1, TIM_ENCODE_MODE_TI12, TIM_IC_POLARITY_RISING, TIM_IC_POLARITY_RISING);
TIM_InitIcStruct(&TIM_ICInitStructure);
TIM_ICInitStructure.IcPolarity = TIM_IC_POLARITY_RISING;
TIM_ICInitStructure.IcFilter = 6;
TIM_ICInitStructure.Channel = TIM_CH_1;
TIM_ICInit(TIM1, &TIM_ICInitStructure);
TIM_ICInitStructure.Channel = TIM_CH_2;
TIM_ICInit(TIM1, &TIM_ICInitStructure);
TIM_ConfigArPreload(TIM1, ENABLE);
TIM_SetCnt(TIM1, 0);
TIM_ConfigInt(TIM1, TIM_INT_UPDATE, DISABLE);
TIM_ClearFlag(TIM1, TIM_FLAG_UPDATE);
TIM_ConfigInt(TIM1, TIM_INT_UPDATE, ENABLE);
TIM_Enable(TIM1, ENABLE);
|