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;
}
所难理解的我想就是这个地方:
[size=13.3333330154419px]lvu=light.read_u16();
[size=13.3333330154419px]
[size=13.3333330154419px]这个是C++的味道,得小心点,看了下函数介绍,我晕,还真是一个类。
[size=13.3333330154419px]
[size=13.3333330154419px]
类名 | | | | | | | 读取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) | |
以下是下载的载图:
以下是运行的载图:明显看出下边的我把管脚短地了,运行成功哈!!!!
|