analog: add analogReadResolution

This commit is contained in:
Daniel Fekete 2017-06-25 11:53:46 +02:00
parent 79efdb1863
commit 047edf699a
2 changed files with 7 additions and 1 deletions

View File

@ -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);

View File

@ -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;
}