Adc配置如下:
Adc Chip配置如下:
在使用Chip下的read方法读取11号寄存器与12号寄存器读取到的数据与硬件测量的电压值相同为1040mv左右
![]()
![]()
但是使用scanner读取到的11号寄存器和12号寄存器的电压值仅为795mv左右存在差异与预期不符
scanner:
请问要怎么解决
Adc配置如下:
Adc Chip配置如下:
在使用Chip下的read方法读取11号寄存器与12号寄存器读取到的数据与硬件测量的电压值相同为1040mv左右
![]()
![]()
但是使用scanner读取到的11号寄存器和12号寄存器的电压值仅为795mv左右存在差异与预期不符
scanner:
请问要怎么解决
Scanner配置是位读,用下chip的位读方法试下呢,看看读出来的值
使用按位读还是一样的结果
![]()
![]()
hwproxy的版本是1.90.19以上吗,是的话可以尝试用trace跟踪下。
1、mdbctl,进入终端
2、attach hwproxy,连接hwproxy
3、lscmd看下有没有tracedebounce命令
4、tracedebounce </Scanner obj> start,开始跟踪,看下防抖窗口内的值和每次读的值
ps:也可以tracechip </chip obj> start,跟踪下器件读写
使用tracedebounce可以看到原始读值是正确的,但是经过抖动处理后读值就变为798了

目前我的Scanner的debounce配置为“Debounce”: “#/MidAvg_Inlet”
"MidAvg_Inlet": {
"WindowSize": 4,
"DefaultValue": 20,
"IsSigned": true
},
这个Debounce要改为什么呢
你的防抖配置里,配置了防抖值是有符号的,有符号的防抖只支持-256~255,计算一个字节以上的会导致非预期结果,你试试把IsSigned改为false