mbed 的ADC也超方便,只要找对ACD管脚即可,经查我看到板子上的ADC管脚为PA06
整个程序的思路也好理解读管脚的ADC的值然后打印出来,分浮点和速型输出。输出完了闪一下灯。
- #include "mbed.h"
- AnalogIn light(PA06);
- DigitalOut led1(LED1);
- float lvf=0;
- unsigned short lvu=0;
- int main()
- {
- while(1)
- {
- lvf=(float)light;
- lvu=light.read_u16();
- printf("light adc count is %f , %d \n",lvf,lvu);
- wait(0.5);
- if (lvf<0.7)
- led1=1;
- else
- led1=0;
- }
-
所难理解的我想就是这个地方:
lvu=light.read_u16();
这个是C++的味道,得小心点,看了下函数介绍,我晕,还真是一个类。
类名 | | | | | | | 读取ADC采样值,返回的是0-1之间的小数,即0代表0V,1代表3.3V | unsigned short read_u16() | 读取ADC采样值,返回的是整数,,范围在0到65535之间 | | | | | | | 设定DAC的输出值,范围为0-1之间的小数,即0代表0V,1代表3.3V | void write_u16(unsigned short value) | | | | Ana**ut& operator= (float percent) | | Ana**ut& operator= (Ana**ut& rhs) | |
以下是下载的载图:
以下是运行的载图:明显看出下边的我把管脚短地了,运行成功哈!!!!
|