1
+ /*
2
+ wiring_analog.c - analog input and output functions
3
+ Part of Arduino - http://www.arduino.cc/
4
+
5
+ Copyright (c) 2018 Arduino SA
6
+
7
+ This library is free software; you can redistribute it and/or
8
+ modify it under the terms of the GNU Lesser General Public
9
+ License as published by the Free Software Foundation; either
10
+ version 2.1 of the License, or (at your option) any later version.
11
+
12
+ This library is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General
18
+ Public License along with this library; if not, write to the
19
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20
+ Boston, MA 02111-1307 USA
21
+ */
22
+
23
+ #include " Arduino.h"
24
+ #include " pins_arduino.h"
25
+
26
+ static int resolution = 10 ;
27
+
28
+ void analogWrite (pin_size_t pin, int val)
29
+ {
30
+ float percent = (float )val/(float )(1 << resolution);
31
+ mbed::PwmOut ((PinName)pin).write (percent);
32
+ }
33
+
34
+ int analogRead (pin_size_t pin)
35
+ {
36
+ return mbed::AnalogIn ((PinName)pin).read_u16 ();
37
+ }
0 commit comments