惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
L
LINUX DO - 热门话题
P
Proofpoint News Feed
P
Privacy & Cybersecurity Law Blog
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
Cisco Talos Blog
Cisco Talos Blog
AI
AI
L
LINUX DO - 最新话题
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The GitHub Blog
The GitHub Blog
I
Intezer
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
S
Securelist
博客园_首页
IT之家
IT之家
Schneier on Security
Schneier on Security
博客园 - 叶小钗
罗磊的独立博客
WordPress大学
WordPress大学
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
W
WeLiveSecurity
The Register - Security
The Register - Security
D
DataBreaches.Net
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
Recorded Future
Recorded Future
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tailwind CSS Blog
N
News and Events Feed by Topic
Cyberwarzone
Cyberwarzone
T
Tor Project blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com

博客园 - 坚强地活着

libxml问题 read函数读取时报错:Resource temporarily unavailable 管脚复用为gpio后不能控制的问题解决 ps制作gif 静态局部变量 问题:232串口发送数据不稳定,有时能发出数据,有时发不出数据 问题:qt按钮有时候点击没有反应 vs2017+qt问题 mysql问题 dtu通讯的一个问题 又是运行不到main的问题 stlink问题 stm32上调试AD5410 linux读xml文件问题 stm8问题记录 430 仿真器 问题 虚拟机VMware显示“内部错误”的解决方法 VS2008 如何设置字体大小? ps 处理gif
AD7124踩过的坑
坚强地活着 · 2020-06-08 · via 博客园 - 坚强地活着

花了正好一个星期的时间,终于基本上调通了,当然,不仅是指可以正确通过SPI和片子交互,而且采集氧量信号的精度也是非常高,至少在mv级别了。

过程中遇到了一系列问题,搞的人也是很崩溃。

先是SPI通讯的问题,ADI官方给的开发板的代码,用的并不是keil,spi的读写函数我根本没法用,因此只好自己来写。

我的spi代码从5420移植而来,但7124和5420有很大的不同,而且复杂了很多。

5420的读写是两函数,而7124的读写需要整合为一个.

在读写count个字节时,5420的for是从count开始,而7124是从0开始,因为刚开始时没有搞对,所以导致读出的数据都是反的,
比如读id,正确的是0x04,但我读出的却是0x20

还有,在5420中是CLR_SCL之后才给SDIN上放数据,但对于7124却需要在CLR_SCL之前放数据。
因为手册中描述:SCL下降沿驱动数据,上升沿锁存数据。

接着,遇到的问题是,读出的数据最后一位数据总是为0,比如 AD7124_Channel_0 手册上说读出来应该是0x8001,但我读出来却是0x8000,
又仔细研究了手册,手册上说,似乎在转换完成后DOUT/RDY脚会切换为RDY功能且为0表示数据有效可以被读取,而在读取之后才被重新置为1。
所以,怀疑是我读最后一位的时机不对(太晚了,以致于DOUT/RDY脚处于RDY功能且为0)
程序调整后(把从SDOUT读取数据的操作放在了SET_SCL之前),读取正确。

然后测试20mv标准信号,但始终得到的结果是18mv,尝试了各种校准,但都么有卵用。在崩溃,好心网友提示说可以测下内部2.5V,测量后竟然非常准确。
惊喜之余,又直接测了氧量信号(用信号源模拟),结果也非常精确。
我晕!难道是我对20mv标准信号的理解不对!!!