旋转编码计数器
修改中断代码
void EXTI0_IRQHandler(void)
{
/* USER CODE BEGIN EXTI0_IRQn 0 */
if(__HAL_GPIO_EXTI_GET_FLAG(PB0_Pin))
{
if(HAL_GPIO_ReadPin(PB1_GPIO_Port, PB1_Pin)==GPIO_PIN_RESET)
{
count--;
}
/* USER CODE END EXTI0_IRQn 0 */
HAL_GPIO_EXTI_IRQHandler(PB0_Pin);
/* USER CODE BEGIN EXTI0_IRQn 1 */
}
/* USER CODE END EXTI0_IRQn 1 */
}
/**
* @brief This function handles EXTI line1 interrupt.
*/
void EXTI1_IRQHandler(void)
{
/* USER CODE BEGIN EXTI1_IRQn 0 */
if(__HAL_GPIO_EXTI_GET_FLAG(PB1_Pin))
{
if(HAL_GPIO_ReadPin(PB0_GPIO_Port, PB0_Pin)==GPIO_PIN_RESET)
{
count++;
}
/* USER CODE END EXTI1_IRQn 0 */
HAL_GPIO_EXTI_IRQHandler(PB1_Pin);
/* USER CODE BEGIN EXTI1_IRQn 1 */
/* USER CODE END EXTI1_IRQn 1 */
}
}
添加计数函数

int16_t get_sensorcounter(void)
{
return count;
}
注意!!!!!!!!!!!
这边的都伤int而不是uint和上面的有所不一样要不然打印出来的数字就不对了
修改main函数










![[BJDCTF2020]EasySearch1](https://i-blog.csdnimg.cn/direct/ed6f69c8e2a945f38282694513e500bc.png)









