工具/软件:
您好:
我将与连接 ADS8331 模数转换器 dsPIC33EP128GP504 微控制器的视频。
我面临的问题是 EOC 引脚从不切换 断开。 可能是这是并非所有通道都具有相同值的问题。
我的配置 (CFR):
我尝试了写和读回 CFR 寄存器。 读回的值与写入的值匹配、因此 SPI 似乎正常。 我尝试了 0x037D、0x03FD 等配置以及写入命令 0xE000。 我使用读取 CFR 命令 0xE000 读回 CFR 值。 所以在那个时候我得到了正确的配置是什么尝试写. 因此、请确保读写工作正常。
在我的代码中、我会按如下方式对 CONVST 进行脉冲:
ADS8331_CONVST_LOW ();
__ delay_us (1);
ADS8331_CONVST_HIGH ();
这是用于读取通道数据的 MY 函数
uint16_t ADS8331_ReadChannel (uint8_t channel)
{
uint16_t TX、Rx;
ADS8331_Status_t st;
//--选择频道--
TX = ADS8331_CMD_CH(通道);
ADS8331_CS_LOW ();
ST = ADS_SPI_EXCHANGE (TX、&Rx、2000);
ADS8331_CS_HIGH ();
__ delay_us (2);
//--开始转换--
ADS8331_CONVST_LOW ();
__ delay_us (5);
ADS8331_CONVST_HIGH ();
——等待 EOC——
ST = ADS8331_PollEOC (2000);
如果 (st!= ADS8331_OK){
返回 0x1;//错误
}
//--读取结果--
TX = ADS8331_CMD_READ_DATA;
ADS8331_CS_LOW ();
ST = ADS_SPI_EXCHANGE (TX、&Rx、2000);
ADS8331_CS_HIGH ();
返回 Rx;
}
我正在尝试 手动触发器+手动通道选择+ EOC 轮询 。
EOC 引脚保持恒定(高电平或低电平,具体取决于配置)、从不切换。
“ 我在遗漏了什么 CFR 配置 或中 读取序列 ?
谢谢。