环境: STM32F407   SPI3   AD7616

程序配置如下:

// AD7616 Reg addr

#define AD7616_CONFIG_REG   0x02

#define AD7616_CHANLE_REG   0x03

#define AD7616_PUINA1_REG   0x04

#define AD7616_PUINA2_REG   0x05

#define AD7616_PUINB1_REG   0x06

#define AD7616_PUINB2_REG   0x07

#define AD7616_STATUS_REG   0x08

#define AD7616_STACKx_REG(n)    (0x20+n*0x01)

u16 parame[32] = {

0x88, 0x99, 0xBB, 0x00, 0x133, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

};

// Init the range register, which has the register address = 0x04, 0x05, 0x06, 0x07

// set +/-10V for all channels

chanle = 0x00FF; //range:±10V

for(chanle = 0; chanle < 4; chanle++){

writeAD7616(AD7616_PUINA1_REG+chanle, chanle); //write ad7616 reg

dd1 = readAD7616(AD7616_PUINA1_REG+chanle); //read ad7616 reg, return 16bit data

while(dd1 != chanle){

writeAD7616(AD7616_PUINA1_REG+chanle, chanle);

dd1 = readAD7616(AD7616_PUINA1_REG+chanle);

}

}

// Init Sequencer

// Set the sequencer as Vcc->ALDO->self testing->0->3

for(chanle = 0; chanle < 32; chanle++){

writeAD7616(AD7616_STACKx_REG(chanle), parame[chanle]);

dd1 = readAD7616(AD7616_STACKx_REG(chanle));

while(dd1 != parame[chanle]){

writeAD7616(AD7616_STACKx_REG(chanle), parame[chanle]);

dd1 = readAD7616(AD7616_STACKx_REG(chanle));

}

}

// Init the configuration register, which has the register address = 0x02

// bit 7 - self error dection, '1' error, '0' no error

// bit 6 - set '1' to active the burst mode, set '0' to disable

// bit 5 - set '1' to active the auto sequencer, set '0' to disable

// bit 4~2 - "000" no OS; "001" OS by 2, "010" OS by 4, ... "111" OS by 128

// bit 1 - set '1' to output the status word after conversion data, set '0' to disable

// bit 0 - set '1' to output the CRC word after conversion/status data, set '0' to disable

chanle = 0x007E;

writeAD7616(AD7616_CONFIG_REG, chanle);

dd1 = readAD7616(AD7616_CONFIG_REG);

while(dd1 != chanle){

writeAD7616(AD7616_CONFIG_REG, chanle);

dd1 = readAD7616(AD7616_CONFIG_REG);

}

以上的配置在我的程序中读写都能正确显示;

以下为采集回来的数据显示:

以上为串口终端显示的内容

> chanle[00]: 3944 ----> 4.473877

// 此处为Acc数据  Acc万用表量得为4.92V

> chanle[01]: 3D9B ----> 4.812927

// 此处为Acc数据

> chanle[02]: CC0C ----> -4.058838

// 此处为ALDO数据

ALDO应该为1.8V,在手册上写着

> chanle[03]: CA79 ----> -4.181824

// 此处为ALDO数据

> chanle[04]: AAAA ----> -6.666870

// 此处为自测通道A数据

在手册上写着固定返回AAAA

> chanle[05]: 5555 ----> 6.666565

// 此处为自测通道B数据

在手册上写着固定返回5555

> chanle[06]: 1D5D ----> 2.294006

// 此处为自测通道A0数据

次通道接入一个直流4.1V左右

> chanle[07]: E8CD ----> -1.812439

// 此处为自测通道B0数据

没接入

> chanle[08]: E8C7 ----> -1.814270

// 此处为自测通道A3数据

没接入

> chanle[09]: E8CC ----> -1.812744

// 此处为自测通道B3数据

没接入

> chanle[10]: 3327 ----> 3.996277

// 此处为状态寄存器的数据

从上面数据可见:

返回来的数据 通道A0 B0 A3 B3都有一个1.8V左右的偏差;

但读回来的自测通道和状态寄存器的值是准确的;

Acc的数值就有点偏;

ALDO是错的比较离谱了;

各位有谁调试过AD7616的给点提示,这问题纠结几天了,还没解决,在这谢谢各位。

偏移出来的数据不准_关于AD7616采集后读回来数据不准(有偏移)的问题相关推荐

  1. 偏移出来的数据不准_关于AD7616采集后读回来数据不准(有偏移)的问题,求解决...

    本帖最后由 linux-0405209 于 2017-6-7 12:31 编辑 (若发的板块不对,请告知修改) 环境: STM32F407   SPI3   AD7616 程序配置如下: // AD7 ...

  2. 采集后没有播放数据 没有播放按钮的解决办法

    有时候会遇到,采集后没有播放数据,前台页面也找不到播放按钮,这种情况一般是后台没有添加播放器 只需要添加对应的播放器,然后清理缓存即可 本站提供的V10采集插件,具有一键配置播放器的功能,详情点击&g ...

  3. python构造icmp数据包_如何在python中构造ICMP数据包

    为了学习,我目前正在尝试创建一个简单的python porgram来向某个设备发送ICMP ping数据包.为了开始,我查看了python模块Pyping:https://github.com/Akh ...

  4. 对数据仓库进行数据建模_确定是否可以对您的数据进行建模

    对数据仓库进行数据建模 Some data sets are just not meant to have the geospatial representation that can be clus ...

  5. python自动化数据报告_如何:使用Python将实时数据自动化到您的网站

    python自动化数据报告 This tutorial will be helpful for people who have a website that hosts live data on a ...

  6. python爬虫爬网站数据登录_使用webdriver+urllib爬取网页数据(模拟登陆,过验证码)...

    urilib是python的标准库,当我们使用Python爬取网页数据时,往往用的是urllib模块,通过调用urllib模块的urlopen(url)方法返回网页对象,并使用read()方法获得ur ...

  7. python向mysql中添加数据标签_用python在MySQL中写入数据和添加数据

    在笔者之前的博文中,已介绍了用python连接与mysql数据库的知识.包括如何安装python连接mysql的pymysql包,如何通过cusor语句将python与mysql连接起来,以及如何用p ...

  8. modis数据介绍_【更新90篇】地理数据科学技术文章合集,欢迎大家点赞、在看、转发三连!...

    最近因微信公众号修改了规则, 不将公众号标星可能无法及时收到推送, 还请大家把"走天涯徐小洋地理数据科学"加个星标. 公众号技术文章合集目录,目前已整理以下8个部分,共计90篇文章 ...

  9. dgi数据治理_荐书 | 5G时代组织急需数据体检

    张靖笙 随着5G的到来,基础硬件设施提供商.运营商及终端设备提供商都会迎来改变,而随着数据传输速度的加快和终端设备的增多,直接产生数据量的增长,海量的联网终端意味着海量的数据.5G只是底层通讯技术,但 ...

最新文章

  1. 1059 Prime Factors
  2. Kafka 六战 RabbitMQ,这差距还不够明显吗?
  3. 协程 线程 进程的一点理解
  4. Application failure. hr=0x80040101:Failed to initialize virtual machine.
  5. P4161 [SCOI2009]游戏
  6. 如何在GraphPad Prism中使用非线性回归拟合模型?
  7. php编译称opcode文件,PHP源码保护和性能加速
  8. Zernike函数拟合曲面--MATLAB实现
  9. Application Request Routing (ARR) TIME OUT 502
  10. mysql mha配置idrac远程关机_iDRAC远程管理功能试用_戴尔 PowerEdge R810(Xeon E7520/16GB/3*146GB)_服务器评测与技术-中关村在线...
  11. 正则表达式python_Python正则表达式
  12. 椭圆极点极线性质_圆锥曲线(18)———圆锥曲线题目背后的性质总结(1)
  13. 推荐一款配置中心新贵:Nacos,阿里开源,是真的香!!
  14. 分享4个不错的软件资源下载网站(值得珍藏)
  15. fireworks html制作,fireworks怎么制作网页
  16. Windows下x64反汇编参数传递约定,一句话,调用顺序为从左到右, Function( rcx, rdx, r8,r9, [rsp+0x20], [rsp+0x28], [rsp+0x30]..
  17. Spring Cloud 如何统一异常处理?写得太好了!
  18. 通过计数器完成工厂可视化看板的开发
  19. 毛桃pe系统 linux,老毛桃U盘PE重装教程
  20. 天文基础浏览-盖亚计划

热门文章

  1. TCP/IP协议 TCP包深入理解
  2. 《Learning Scrapy》(中文版)第8章 Scrapy编程
  3. SQL SERVER 2008数据库管理与维护总结
  4. NSUserDefaults写作和阅读对象定义自己
  5. 关于android的日志输出LogCat
  6. Debian GNU/kFreeBSD是什么
  7. 基于FPGA的跨时钟域信号处理——专用握手信号
  8. Try Microsoft AutoCollage 2008
  9. RxJS异步编程的简介
  10. Tiff – 比较两种字体差异