|
@@ -4,6 +4,11 @@
|
|
|
|
|
|
TIM_HandleTypeDef htim1;
|
|
TIM_HandleTypeDef htim1;
|
|
|
|
|
|
|
|
+#define TEST_BUF_LEN 256
|
|
|
|
+uint32_t test_index;
|
|
|
|
+uint32_t test_buf[TEST_BUF_LEN];
|
|
|
|
+
|
|
|
|
+
|
|
//
|
|
//
|
|
void init_encoder(void)
|
|
void init_encoder(void)
|
|
{
|
|
{
|
|
@@ -22,7 +27,7 @@ void init_encoder(void)
|
|
htim1.Init.RepetitionCounter = 0;
|
|
htim1.Init.RepetitionCounter = 0;
|
|
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; //TIM_AUTORELOAD_PRELOAD_ENABLE;
|
|
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; //TIM_AUTORELOAD_PRELOAD_ENABLE;
|
|
|
|
|
|
- sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
|
|
|
|
|
|
+ sConfig.EncoderMode = TIM_ENCODERMODE_TI1; //TIM_ENCODERMODE_TI12;
|
|
|
|
|
|
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
|
|
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
|
|
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
|
|
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
|
|
@@ -42,11 +47,19 @@ void init_encoder(void)
|
|
|
|
|
|
HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig);
|
|
HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig);
|
|
|
|
|
|
- HAL_NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn, 6, 0);
|
|
|
|
- HAL_NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);
|
|
|
|
|
|
+ //HAL_NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn, 6, 0);
|
|
|
|
+ //HAL_NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);
|
|
|
|
+
|
|
|
|
+ //__HAL_TIM_ENABLE_IT(&htim1, TIM_IT_UPDATE);
|
|
|
|
+
|
|
|
|
+ HAL_NVIC_SetPriority(TIM1_CC_IRQn, 6, 0);
|
|
|
|
+ HAL_NVIC_EnableIRQ(TIM1_CC_IRQn);
|
|
|
|
|
|
//HAL_TIM_Encoder_Start(&htim1, TIM_CHANNEL_ALL);
|
|
//HAL_TIM_Encoder_Start(&htim1, TIM_CHANNEL_ALL);
|
|
- HAL_TIM_Encoder_Start_IT(&htim1, TIM_CHANNEL_ALL);
|
|
|
|
|
|
+ //HAL_TIM_Encoder_Start_IT(&htim1, TIM_CHANNEL_ALL);
|
|
|
|
+ HAL_TIM_Encoder_Start_IT(&htim1, TIM_CHANNEL_1);
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//
|
|
//
|
|
@@ -85,6 +98,22 @@ void init_gpio_encoder(void)
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
|
|
|
+{
|
|
|
|
+ static uint32_t cnt = 0;
|
|
|
|
+
|
|
|
|
+ cnt++;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
|
|
|
|
+{
|
|
|
|
+ //test_buf[test_index++] = (uint16_t)TIM1->CNT;
|
|
|
|
+ test_buf[test_index++] = (uint16_t)TIM1->CCR1;
|
|
|
|
+
|
|
|
|
+ if (test_index == TEST_BUF_LEN)
|
|
|
|
+ test_index = 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
|
|
extern "C" {
|
|
extern "C" {
|
|
void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
|
|
void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
|