您好!
我最近为此 IC 组装了一个新的原型开发板。
我在进行一些初步的软件测试时遇到了 DAC 输出的一些奇怪结果。
在将此设计传递给我的编程团队之前、我想确认所有 IO 功能。
我相信寄存器中的所有配置都是正确的、以便单独针对 DAC 通道进行值更新。
例如、我可以定义 DAC 的范围并通过断电寄存器启用/禁用。
我没有使用 TOGG 控件。
我在启用 DAC 后发现、DAC 的输出会随机浮动和波动。
我的 SPI 功能很简单。 我只是发送三个连续字节。 首先定义目标寄存器的偏移、然后定义两个配置字节。
我将在下面摘录到目前为止我的流程:
void setup(){ byte range = 0x11 //将范围设置为0-10V 单极正 数//范围寄存器 DAC14_Setup (0x0A、范围、范围);//DACRANGE0 DAC14_Setup (0x0B、范围、范围) 范围);//DACRANGE1 DAC14_SETUP (0x0C、范围、范围);//DACRANGE2 DAC14_SETUP (0x0D、 范围、范围);//DACRANGE3 //加电器 件 DAC14_Setup (0x03、0x0A、0x81); //加电所有通道 DAC14_Setup (0x09、0x00、0x00); //启用针对所有通道的广播 DAC14_Setup (0x05、0xFF、0xFF); //将代码写入所有通道 DAC14_Setup (0x500 、 0xFF)、0xFF_SET (0xFF)、0xFF_SET (0xFF_SET (0xFF)、0xFF_LOOP)、0x500 (0xFF_SET)、0xFF_SET (0xFF_SET (0xFF)、0xFF_SET (0xFF)、0xFF_SET (0xFF_LOOP)、0xFF_SET (0xFF //延迟半秒 //将 DAC0设置为最小值/0V DAC14_Setup (0x10、0x00、0x00); 延迟(500);//延迟半秒 }
我的 DAC14_Setup 函数仅在低 CS 状态下传输三个参数。
我希望我在某个地方遗漏了一些非常明显的东西!
如果有任何帮助,我们将不胜感激:)
此致
Jason