analog: add analogReadResolution
This commit is contained in:
parent
79efdb1863
commit
047edf699a
|
@ -105,6 +105,7 @@ void pinMode(uint8_t, uint8_t);
|
|||
//void digitalWrite(uint8_t, uint8_t);
|
||||
//int digitalRead(uint8_t);
|
||||
int analogRead(uint8_t);
|
||||
void analogReadResolution(int resolution);
|
||||
void analogReference(uint8_t mode);
|
||||
void analogWrite(uint8_t, int);
|
||||
|
||||
|
|
|
@ -50,6 +50,11 @@ void stm32_adc_init(ADC_HandleTypeDef *handle);
|
|||
#error "Unknown clock"
|
||||
#endif
|
||||
|
||||
static int readResolution = 10;
|
||||
|
||||
void analogReadResolution(int resolution) {
|
||||
readResolution = resolution;
|
||||
}
|
||||
|
||||
int analogRead(uint8_t pin) {
|
||||
static ADC_HandleTypeDef handle = {};
|
||||
|
@ -125,5 +130,5 @@ int analogRead(uint8_t pin) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
return HAL_ADC_GetValue(&handle) >> 2;
|
||||
return (HAL_ADC_GetValue(&handle) << readResolution) >> 12;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue