目录
(1)由原理图可知,五向按键的五个方向的开关的电压值不一样,PA0就是这个电压值的开关,所以配置PA0为ADCIN0和Gpio_Analog:
1.配置寄存器
同CSDN,先实现五向按键的中断,再配置ADC模数转换
ADC的转换
(1)由原理图可知,五向按键的五个方向的开关的电压值不一样,PA0就是这个电压值的开关,所以配置PA0为ADCIN0和Gpio_Analog:
(2)修改采集频率
2、代码
ADC转化
HAL_ADC_Start(&hadc); //开始ADCd的转化
uint32_t keyValue=HAL_ADC_GetValue(&hadc);//获取转化的结果
printf("keyValue:%d\n",keyValue); //打印结果
显示结果
switch(keyValue/100)
{
case 4:
printf("down\n");
break;
case 20:
printf("up\n");
break;
case 14:
printf("left\n");
break;
case 29:
printf("right\n");
break;
case 24:
printf("middle\n");
break;
default:
printf("error\n");
}
全部代码main.c
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file