回答

收藏

【赚周年币】技术贴Week 1-Day7-----mbed之模数转换ADC

#线上活动 #线上活动 2446 人阅读 | 0 人回复 | 2017-01-04

      很多时候需要处理模拟信号,为了让MCU处理这些模拟的信号,必须先使用ADC把模拟信号转换成数字信号。LPC824片上外设有一个12bit的ADC。
       mbed中,用AnalogIn对象表示ADC模拟输入。

LPC824lite 兼容Arduino接口,板上在ADC3通道接了一个可调电阻。
  1. #include "mbed.h"

  2. DigitalIn myadc1(P0_23,PullNone);
  3. AnalogIn myadc(P0_23);
  4. Serial pc(P0_4,P0_0);
  5. DigitalOut myled(P0_28);
  6. int main() {   
  7.         pc.printf("ADC3 Test!\r\n");
  8.         while(1) {        
  9.         pc.printf("ADC3 Value:%f V\r\n",myadc.read()*3.3);
  10.         pc.printf("ADC3 Value:%x \r\n",myadc.read_u16());
  11.         wait(1.0);
  12.         myled=!myled;
  13.     }
  14. }
复制代码
串口输出两种格式

mbed的问题,采集输入电压为0时,由于分辨率的关系,读的16进制不为0


评分

参与人数 2 +38 收起 理由
EEboard爱板网 + 28 3周发帖养成记 奖励
loveeeboard + 10

查看全部评分

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条