| 本帖最后由 any_014 于 2016-3-17 14:38 编辑 对ad7193芯片设置完后,主循环里每个1秒调用一次单次采样函数。 结果发现读取的数偏小,芯片内部对采样的ad值按8倍增益放大,stm32读取值后再除8再转换成电压值或电阻值。 后发现,内部配置寄存器对应增益放大的值不对。 执行完单次采样后,读配置寄存器值,增益位是正确的。 在单次采样函数调用前,读配置寄存器值,数就不正确了。
串口接收过来的数据是,第一次是:DD 00 00 77 10 01 1A 10 01 1A 10 01 1B 以后就一直是: DD 00 00 3B 10 01 1A 10 01 1A 10 01 1B 配置寄存器是10 01 1A或10 01 1B,其末三位对应的是增益倍数。B(1011)对应的是放大8倍,A(1010)对应的是保留字。 -------------------------------------------------------------------------------------------------- 感觉很奇怪:既然执行完单次采样后,读配置寄存器值,其最后是B,那么这个循环接收后,下一个循环开始的时候,也应该是B啊。 |
微信公众号
手机版