关于stm32cube配置编码器的问题,求指点
附上部分程序
struct pp
{
int puse_count;
int loop_num;
int true_puse;
};
struct pp puse;
struct pp p;
主函数
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_TIM1_Init();
MX_USART1_UART_Init();
puse.loop_num =0;
while (1)
{
p.loop_num=puse.loop_num;
puse.puse_count=p.puse_count;
p.puse_count=__HAL_TIM_GET_COUNTER(&htim1);
if(p.loop_num==0)p.true_puse=p.puse_count;
else p.true_puse=p.loop_num*10000+p.puse_count-10000;
printf("¼ÆÊýֵΪ%d ",p.true_puse);
HAL_Delay(1000);
}
}
更新中断服务函数
void TIM1_UP_IRQHandler(void)
{
/* USER CODE BEGIN TIM1_UP_IRQn 0 */
if(puse.puse_count>10000)
puse.loop_num++;
if(puse.puse_count<10000)
puse.loop_num--;
__HAL_TIM_SET_COUNTER(&htim1,10000);
/* USER CODE END TIM1_UP_IRQn 0 */
HAL_TIM_IRQHandler(&htim1);
/* USER CODE BEGIN TIM1_UP_IRQn 1 */
/* USER CODE END TIM1_UP_IRQn 1 */
}

然后程序运行读不到数据,编码器的输入没有读到,希望可以指点一下是哪里配置的问题,谢谢
struct pp
{
int puse_count;
int loop_num;
int true_puse;
};
struct pp puse;
struct pp p;
主函数
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_TIM1_Init();
MX_USART1_UART_Init();
puse.loop_num =0;
while (1)
{
p.loop_num=puse.loop_num;
puse.puse_count=p.puse_count;
p.puse_count=__HAL_TIM_GET_COUNTER(&htim1);
if(p.loop_num==0)p.true_puse=p.puse_count;
else p.true_puse=p.loop_num*10000+p.puse_count-10000;
printf("¼ÆÊýֵΪ%d ",p.true_puse);
HAL_Delay(1000);
}
}
更新中断服务函数
void TIM1_UP_IRQHandler(void)
{
/* USER CODE BEGIN TIM1_UP_IRQn 0 */
if(puse.puse_count>10000)
puse.loop_num++;
if(puse.puse_count<10000)
puse.loop_num--;
__HAL_TIM_SET_COUNTER(&htim1,10000);
/* USER CODE END TIM1_UP_IRQn 0 */
HAL_TIM_IRQHandler(&htim1);
/* USER CODE BEGIN TIM1_UP_IRQn 1 */
/* USER CODE END TIM1_UP_IRQn 1 */
}

然后程序运行读不到数据,编码器的输入没有读到,希望可以指点一下是哪里配置的问题,谢谢
