您好!
我尝试 通过三线串行接口(SPI)将 DAC8531与 Arduino Mega 连接。我已经完成 Arduino IDE 中的所有连接和 skech,以写入0到65535之间的值(DAC 的输入移位寄存器为24位宽, 前六位为“不用考虑”, 接下来的两个位(PD1和 PD0)是控制位、接下来的16位是数据位-这些位在 SCLK 的第24个下降边沿传输到 DAC 寄存器。)
该计划是:
#include int CS = 53;//pin53从器件选择 int Data = 51;//pin51 MOSI 串行数据 int SCLK = 52;//pin52 clock void setup (){ //将您的设置代码放在此处,运行一次: pinMode (CS、output); pinMode (Data、output); pinMode (SCLK、output); SPI.begin(); digitalWrite (CS、high); SPI.beginTransaction (SPISettings (2000000、MSBFIRST、SPI_MODE1)); delayMicroseconds (1); } void loop(){ //将主代码置于此处重复运行: DAC_Write (2622);//将 DAC 设置为~200mV delay (3000); } DAC_Write (uint16_t outputByte (SPI );transfer outputValue ( low.spi);void 命令 (putputByte);transfer (pyte (pyte)(SPI);outputByte) transfer (quit (quote);void transfer (pyte)(quit (quote)(pyte);transfer (quote)( delayMicroseconds (1); digitalWrite (CS、HIGH); delayMicroseconds (1); spi.endTransaction (); }
程序不起作用、Arduino 的 µC 不在 DAC 缓冲区中写入、我不知道 SPI 设置是否正确或是否一切正常。
以下是 DAC 数据表的链接 : http://www.ti.com/lit/ds/sbas192b/sbas192b.pdf
如果有人曾与该 DAC 合作、我希望获得一些意见、并在可能的情况下提供一些帮助。 非常感谢。