极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16373|回复: 6

LGT 8F328P ADC学习笔记

[复制链接]
发表于 2017-5-12 22:21:24 | 显示全部楼层 |阅读模式
本帖最后由 popopupa 于 2017-5-12 22:23 编辑

1. LGT 8F328P QFP32 有8个ADC输入引脚,A0-A7,与Arduino UNO相同。
2. 支持12位ADC,UNO是10位。analogRead的范围是0-4095
3. 关于参考电压:可以使用电源参考、外部Vref输入、内部1.024V、
   内部2.048V、内部4.096V共五种参考模式,使用时比UNO灵活很多。
4. 以UNO为例,当使用电源参考时 测量电压 V = value * 5000 / 1024 (mV)
   当使用8F328P时,如5V供电    测量电压 V = value * 5000 / 4096 (mV)
5. 当使用内部参考时,事情变得非常简单
   1.024V ----> V = value * 1024 / 4096 = value / 4(mV)
   2.048V ----> V = value * 2048 / 4096 = value / 2(mV)
   4.096V ----> V = value * 4096 / 4096 = value    (mV)
6. 选择合适的参考电压,可以提高测量精度,比如1.024V参考可得到
   0.25mV的测量分辨率。而4.096V参考电压对应的分辨率为1mV。
7. 官方给出的内部参考电压精度是±0.5%,比电源电压精度高,也比从1117
   得到的3.3V更精确,所以当使用8F328P的ADC时,尽量用内部参考电源。

  1. int   value;                 // ADC转换输出
  2. float voltage;               // 电压测量值
  3. void setup() {
  4.   //analogReference(INTERNAL1V024);
  5.   analogReference(INTERNAL2V048);
  6.   //analogReference(INTERNAL4V096);       // 使用VCC作为参考时,不需要这句
  7.   Serial.begin(57600);
  8. }
  9. void loop() {
  10.   value = analogRead(A1);
  11.   Serial.print("value = ");
  12.   Serial.print(value);
  13.   voltage = 0.5 * value;      // 2.048内部参考时的换算公式
  14.   Serial.print("------>");
  15.   Serial.print(voltage);
  16.   Serial.println("mV");
  17.   delay(10);
  18. }
复制代码


有疏漏和错误请大家及时指出,以免误导更多人。
回复

使用道具 举报

发表于 2017-5-12 22:23:45 | 显示全部楼层
8F328P这里就比较人性化。。。1.024 2.048 4.096除以10位或者12位。。都是整除
回复 支持 反对

使用道具 举报

发表于 2017-5-13 11:46:32 | 显示全部楼层
ALPHA 8F328P-U开发板A6 A7 DAC1和PE4没引出来。。。
回复 支持 反对

使用道具 举报

发表于 2017-5-13 13:11:52 | 显示全部楼层
Zeye_Pendragon 发表于 2017-5-13 11:46
ALPHA 8F328P-U开发板A6 A7 DAC1和PE4没引出来。。。

8F328P芯片现在只有一路DAC了吧,PD4,也就是D4管脚。其他的非UNO使用管脚。。。。没引出来,这个版本主要就是管脚完全兼容UNO。引出更多管脚的呢,得等后期了,因为得修改管脚配置。工作量不小。
回复 支持 反对

使用道具 举报

发表于 2017-5-14 10:13:48 | 显示全部楼层
弘毅 发表于 2017-5-13 13:11
8F328P芯片现在只有一路DAC了吧,PD4,也就是D4管脚。其他的非UNO使用管脚。。。。没引出来,这个版本主 ...

binary.h和standard目录下pins_arduino.h关于B0~B7的定义冲突了,在arduino IDE 1.8.2下编译时 。 1.8.1没有这个问题
回复 支持 反对

使用道具 举报

发表于 2017-5-16 09:45:27 | 显示全部楼层
我在ocrobot0.1.1中上传后ACD变成10位的,如何使用12位设置?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-18 06:21:35 | 显示全部楼层
D19TCI 发表于 2017-5-16 09:45
我在ocrobot0.1.1中上传后ACD变成10位的,如何使用12位设置?

等待ocrobot版本更新,据说下个版本就会有设置了
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-18 14:17 , Processed in 0.040454 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表