您好!
我需要硬件和软件方面的帮助。 我们设计了采用 PSoC 4和 DAC8760的电路板、以提供 DAC 输出。 但是、在检查时、我们从 Refout 引脚获得了700mil 的电压(该引脚又连接到 Refin 引脚)。 我们能否直接为 Refout 引脚提供5V 电压???
下面我粘贴了程序使用硬件 SPI 的代码、甚至用示波器检查我是否已成功传输数据、但在尝试读取时无法从寄存器中读取任何数据。
#include "project.h"
#include "stdio.h"
int main (空)
{
int i=0、x、y;
字符 str[10];
GlobalCyIntEnable;
SPI_Initialize();
//SPI_1_SpiSetActiveSlaveSelect (SPI_1_SPI_SLAVE_SELECT0);
//从器件选择为单独的引脚 SS_2
//重置 DAC8760
SS_2_Write (1);
SPI_1_SpiUartWriteTxData (0x56);
CyDelayU (SPI_DELAY);
SPI_1_SpiUartWriteTxData (0x00);
CyDelayU (SPI_DELAY);
SPI_1_SpiUartWriteTxData (0x01);
CyDelayU(50岁);
SS_2_Write (0);
CyDelayU (SPI_DELAY);
//将第一个初始数据写入 DAC 数据寄存器
SS_2_Write (1);
CLEAR_Write (1);
SPI_1_SpiUartWriteTxData (0x01);
CLEAR_Write (0);
CyDelayU (SPI_DELAY);
SPI_1_SpiUartWriteTxData (0x00);
CyDelayU (SPI_DELAY);
SPI_1_SpiUartWriteTxData (0x00);
CyDelayU(50岁);
SS_2_Write (0);
//为0到10V 输出写入控制寄存器
SS_2_Write (1);
SPI_1_SpiUartWriteTxData (0x55);
CyDelayU (SPI_DELAY);
SPI_1_SpiUartWriteTxData (0x10);
CyDelayU (SPI_DELAY);
SPI_1_SpiUartWriteTxData (0x01);
CyDelayU(50岁);
SS_2_Write (0);
CyDelay(1000);
for (;;)
{
//将10V 数据写入 DAC 数据寄存器
SS_2_Write (1);
CLEAR_Write (1);
SPI_1_SpiUartWriteTxData (0x01);
CLEAR_Write (0);
SPI_1_SpiUartWriteTxData (0xFF);
SPI_1_SpiUartWriteTxData (0xFF);
CyDelayU(50岁);
SS_2_Write (0);
CyDelay(1000);
//将5V 数据写入 DAC 数据寄存器
SS_2_Write (1);
CLEAR_Write (1);
SPI_1_SpiUartWriteTxData (0x01);
CLEAR_Write (0);
SPI_1_SpiUartWriteTxData (0x7F);
SPI_1_SpiUartWriteTxData (0xFF);
CyDelayU(50岁);
SS_2_Write (0);
CyDelay(1000);
}
}
谢谢你。




