完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
环境: STM32F407 SPI3 AD7616
程序配置如下: /AD7616 Reg Addr / AD7616 16 parame[32] = { 0x88, 0x99, 0xBB, 0x00, 0x133, 0x00, 0x00, 0x00, 0x00, 0xBB, 0xBB, 0x00, 0xBB, 0x00, 0x13, 0x13, 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, 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 }; / 输入区域登记册, 登记地址= 0x04, 0x05, 0x06, 0x07 / 为所有频道设置/- 10V = 0x00FF; // 范围: ×10V for(chanle = 0; chanle < 4; chanle++){ 写AD7616 (AD7616_PUINA1_REG chale, chale); // write ad7616 reg d1 = 读AD7616(AD7616_PUINA1_REG chale);/ 读 ad7616 reg, 返回 16bit 数据 {(dd1 ! = hanle) { (ddd1 !) { 写AD7616 (AD7616_PUINA1_REG chale, chale); 写AD7616 (AD7616_PUINA1_REG chale, chale); 写AD7616 (AD7616_PUINA1_REG chale, Chale); 写AD7616 (AD7616_PUINA1_REG chale, Chale); 写AD7616 (AD7616_PUINA1_REG chale, Chale); d1 = 读AD7616(AD7616_PUINA1_REG chale); 时 时 } 原序列器 // Set the sequencer as Vcc->ALDO->self testing->0->3 for(chanle = 0; chanle < 32; chanle++){ 写入AD7616( AD7616_STACKx_REG( changle) , parme[chanle] ); d1 = 读AD7616(AD7616_STACKx_REG(changle)); (dd1 !) = parame [chanle] { (ddd1 !) { 写入AD7616( AD7616_STACKx_REG( changle) , parme[chanle] ); d1 = 读AD7616(AD7616_STACKx_REG(changle)); 时 时 } / 输入配置登记册,登记册地址=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; 写AD7616 (AD7616_CONFIG_REG, chale); d1 = 读AD7616(AD7616_CONFIG_REG); {(dd1 ! = hanle) { (ddd1 !) { 写AD7616 (AD7616_CONFIG_REG, chale); d1 = 读AD7616(AD7616_CONFIG_REG); } 以上的配置在我的程序中读写都能正确显示; 以下为采集回来的数据显示: 以上为串口终端显示的内容
从上面数据可见: 返回来的数据 通道A0 B0 A3 B3都有一个1.8V左右的偏差; 但读回来的自测通道和状态寄存器的值是准确的; Acc的数值就有点偏; ALDO是错的比较离谱了; 各位有谁调试过AD7616的给点提示,这问题纠结几天了,还没解决,在这谢谢各位。 |
|||
相关推荐
|
|||
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
773 浏览 1 评论
762 浏览 0 评论
488 浏览 0 评论
1683 浏览 1 评论
MCU用3.3V通过三极管和mos控制12V通断导致不能即使开断
1295 浏览 5 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 02:34 , Processed in 0.484931 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号