通过电位器修改声音大小从原理上讲就是重新写一个按键类型,只不过按键类型是一个旋钮,旋钮就相当于一个滑动变阻器,通过旋转之后,芯片的读取到的电压值是在变化的,咱们再根据值的不同进行下一步的操作。
具体操作如下:
定义一个宏定义来管理是否打开旋转声音控制
#define POTENT_KEY 1
下一步就是创建一个读取旋转数据的IO口,key_init()中:
#if POTENT_KEY
adc_ch |= BIT(ADCCH_PA7);
#endif
这样就创建了一个IO口,下一步就是创建一个变量去承接变化的值,get_adc_val()中:
#if POTENT_KEY
adc_cb.potent_val = (u8)(adc_cb.sfr