设置的单通道,能读ID,能写入寄存器也能读出寄存器的值。当就是无法读取数据。发送ox42过去,没有数据返回来的,只能接收到3个0x00.
我端口是悬空的,sync也是处于高电平状态。
请问这是什么原因导致的?
设置的单通道,能读ID,能写入寄存器也能读出寄存器的值。当就是无法读取数据。发送ox42过去,没有数据返回来的,只能接收到3个0x00.
我端口是悬空的,sync也是处于高电平状态。
请问这是什么原因导致的?
今天通过错误寄存器检查了下内部情况:返回的数值:0x02A280 对应一下的值:
ADC_CONV_ERR :此位表示转换结果是否有效。如果转换过程中发生错误,此标志位置1。
AINM_OV_ERR :AINM上的过压检测。如果AINx输入电压比AVDD高40mV,则会提示过压保护
AINM_OV_ERR :AINM上的过压检测。
DLDO_PSM_ERR (0) :数字LDO错误。如果数字LDO检测到错误,此标志位置1。
ALDO_PSM_ERR:模拟LDO错误。如果模拟LDO电压检测到错误,此标志位置1。
然后我测了一下端口的电压:
AVDD:3.36V
ASS:0V
IOVDD:3.33V
REGCAPD:1.66V
REGCAPA :1.91V
我想问问 数字LDO的值应该是1.8V, 我现在测的只有1.66V,是不是该芯片的数值LDO坏了,芯片坏掉了。
但是模拟LDO电压值是对的,为啥也错误提醒了。
没明白你意思?你ldo测得1.66,是万用表测到的?还是ADC测到的?你能读数据了?
如果你是万用表测的1.66,报错很正常,1.66一个是接近1.6V和1.55报错值的值了了,还有你1.66V得供电,得走供电电流,如果你的pcb供电回路阻抗设计的不好,阻抗偏大,那么电流流过电阻不就电压下降了,那么等adc拿到dldo供电时实际比1.66低也不是没可能。还有这颗料的读写,只要你能复现这里的时序要求,就能读出来,大部分人读不出,或者读的值是错的,就是因为程序逻辑不符合该要求,建议用个逻辑分析仪搭配了一起,按照这波形调就好了。