Srdjan Simic
/
STM32_ADC_InternalChannels
Temperature
Diff: main.cpp
- Revision:
- 1:57ff098da1dd
- Parent:
- 0:1ffbfe56f438
- Child:
- 2:e999eca5c095
--- a/main.cpp Mon Feb 08 21:00:25 2021 +0000 +++ b/main.cpp Mon Feb 08 22:35:35 2021 +0000 @@ -13,11 +13,14 @@ #endif DigitalOut led(LED1); -DigitalOut led2(LED2); -DigitalOut led3(LED3); +AnalogIn analog_light_sensor_read(A1); int main() { + int adc_scale = 4096; + int sensorValue; + float Rsensor; + printf("\nSTM32 ADC internal channels reading example\n"); while(1) { printf("ADC Temp = %f\n", (adc_temp.read()*100)); @@ -30,12 +33,14 @@ #endif led = !led; if ((adc_temp.read()*100) > 20) { - led2 = !led2; - led3 = !led3; wait(1.0); } else { -// led2 = 1; wait(0.25); } + sensorValue = analog_light_sensor_read.read_u16(); + Rsensor=(float)(adc_scale-sensorValue)*10/sensorValue; + printf("Light Sensor Analog Reading is 0x%X = %d ", sensorValue, sensorValue); + printf("The sensor resistance is %f \n\n\r", Rsensor); +// wait(1); // 1s } }