Petter Pripp / Mbed 2 deprecated AnalogIn_fix_F3

Dependencies:   mbed

Fork of AnalogIn-HelloWorld by Mbed

Revision:
2:d6c44780c91b
Parent:
0:101a12a915c6
--- a/main.cpp	Wed Dec 10 16:19:08 2014 -0600
+++ b/main.cpp	Mon May 01 18:15:24 2017 +0000
@@ -1,40 +1,25 @@
-/* mbed Example Program
- * Copyright (c) 2006-2014 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
  
 #include "mbed.h"
 
-// Initialize a pins to perform analog input and digital output fucntions
-AnalogIn   ain(A0);
-DigitalOut dout(LED1);
+
+AnalogIn   ain(A5);
+Serial pc(USBTX, USBRX); 
+
 
 int main(void)
 {
+    //Starts ADC Calibration
+    //Correct's bug in mbed for F303K8 and F334R8. 
+    //mbed do not start adc calibration for STM32F3 mcu's ?
+    extern ADC_HandleTypeDef AdcHandle;
+    HAL_ADCEx_Calibration_Start(&AdcHandle, ADC_SINGLE_ENDED); 
+    
+    int nr = 0;           
     while (1) {
-        // test the voltage on the initialized analog pin
-        //  and if greater than 0.3 * VCC set the digital pin
-        //  to a logic 1 otherwise a logic 0
-        if(ain > 0.3f) {
-            dout = 1;
-        } else {
-            dout = 0;
-        }
-        
-        // print the percentage and 16 bit normalized values
-        printf("percentage: %3.3f%%\n", ain.read()*100.0f);
-        printf("normalized: 0x%04X \n", ain.read_u16());
-        wait(0.2f);
+        nr++;
+        pc.printf("nr  : %d\n", nr);
+        pc.printf("normalized: %d \n", ain.read_u16());
+        pc.printf("volt: %3.3f\n\n", ain.read()*3.3 );
+        wait(1);
     }
 }