大家好、我们最近开始使用此 AD 转换器、几乎所有操作都正常、我们可以根据需要进行设置、并且可以正确读取转换后的数据、问题是即使我们遵循了数据表中写入的所有内容、我们也无法运行校准。
我们的启动顺序为(从代码中获取):
启动
{
SET_ADC (u8_DEVICE_I、ENABLE_ADC); //器件 CS 出现故障
SEND_BYTE_COMMAND (ADC_commands.u8_reset_cmd); //发送复位命令
SET_ADC (u8_DEVICE_I、DISABLE_ADC); //器件 CS 变为高电平
Waiting for (1); //等待1ms
SET_ADC (u8_DEVICE_I、ENABLE_ADC); //器件 CS 出现故障
write_all_registers (); //发送 WREG 命令
SET_ADC (u8_DEVICE_I、DISABLE_ADC); //器件 CS 变为高电平
Waiting for (1); //等待1ms
START_ADC = 1; //起始引脚变为高电平
Waiting for (1); //等待1ms
START_ADC = 0; //起始引脚变为低电平
SET_ADC (u8_DEVICE_I、ENABLE_ADC); //器件 CS 出现故障
SEND_BYTE_COMMAND (ADC_commands.u8_sFocus_cmd); //发送 SFOCAL 命令
SET_ADC (u8_DEVICE_I、DISABLE_ADC); //器件 CS 变为高电平
Waiting for (1); //等待1ms
Read_All_Registers (u8_device_I); //发送 RREG 命令
}
结束
我们的寄存器设置为:
0x01、//寄存器00h:[ID]
0x00、//寄存器01h:[状态]
0x12、//寄存器02h:[输入多路复用器]
0x0B、//寄存器03h:[增益设置]
0x34、//寄存器04h:[数据速率]
0x02、//寄存器05h:[参考控制]
0x07、//寄存器06h:[激励电流寄存器1]
0x30、//寄存器07h:[激励电流寄存器2]
0x00、//寄存器08h:[传感器偏置]
0x10、//寄存器09h:[系统控制]
0x00、//寄存器0Ah:[OFFSET 校准寄存器1] LSB
0x00、//寄存器0Bh:[OFFSET 校准寄存器2]
0x00、//寄存器0Ch:[OFFSET 校准寄存器3] MSB
0x00、//寄存器0Dh:[增益校准寄存器1] LSB
0x00、//寄存器0Eh:[增益校准寄存器2]
0x40、//寄存器0Fh:[增益校准寄存器3] MSB
0x00、//寄存器10h:[GPIO 数据]
0x00、//寄存器11h:[GPIO 配置]
我尝试在校准(SFOCAL)命令之前和之后读取寄存器、没有发生任何情况、我也尝试了其他校准命令(SYOCAL 和 SYGCAL)、但没有。
注意:我尝试手动设置 SYS_MON[2:0]= 001b、然后运行 SFOCAL 命令、但仍然没有。
我出什么问题了? 请提供帮助、如果需要更多信息、请咨询。
提前感谢您的支持。