DAC8750输出的问题
时间:10-02
整理:3721RD
点击:
原理图RT所示:
应该没啥问题,代码是按照网上成功的朋友写的:
void DAC8750_Write(u8 add,u16 data)
{
u8 i;
u8 h_8bit,l_8bit;
h_8bit = (data>>8)&0x00FF;
l_8bit = data&0xFF;
LAT_0;
for(i=8;i>0;i--) //写8位地址;
{
SCK_0;
if(add&0x80){DIN_1;}
else{DIN_0;}
SCK_1;
add<<=1;
}
for(i=8;i>0;i--) //写高8位数据;
{
SCK_0;
if(h_8bit&0x80){DIN_1;}
else {DIN_0;}
SCK_1;
h_8bit <<=1;
}
for(i=8;i>0;i--) //写低8位数据;
{
SCK_0;
if(l_8bit&0x80){DIN_1;}
else{DIN_0;}
SCK_1;
l_8bit <<=1;
}
LAT_1;
DIN_1;
}
void DAC8750_Config(void)
{
DAC8750_Write(0x56,0x0001); //复位所有寄存器;
DAC8750_Write(0x55,0x100d); //控制寄存器设置; 0001 0000 0000 1101
DAC8750_Write(0x57,0x0000); //配置寄存器设置;
// DAC8750_Write(0x01,0xfdff);
DAC8750_Write(0x01,0); //输出0;
}
void DAC8750_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(DAC8750_RCC, ENABLE);
GPIO_InitStructure.GPIO_Pin = DAC8750_DIN | DAC8750_LAT | DAC8750_SCK;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(DAC8750_GPIO,&GPIO_InitStructure);
DAC8750_Config();
}
void DAC8750_Out(u16 data)
{
DAC8750_Write(0x01,data);
}
但是现在没有电流输出?请问一下哪里有问题么?
REF-OUT引脚输出是5V
现在是有电流值了,但是电流值完全不对?
我发送 DAC8750_Out(0xFFFF)
用电流表测得电流才11.068ma?
然后发送0x7FFF 电流变成了3.129ma,大家帮忙看一下 还是哪里设置的有问题呀?
