EFM32G232片外AD5421,对4~20mA操作不成功,给解…

My_lolo 2015-08-22 10:00:29
代码如下:

void AD5421_Initialization(void)
{
GPIO_PinModeSet(GPIOA,GPIO_Pin_8,gpioModeInputPull,0X00);
GPIO_PinModeSet(GPIOC,GPIO_Pin_1,gpioModePushPull,0X00);
GPIO_PinModeSet(GPIOC,GPIO_Pin_2,gpioModePushPull,0X00);
GPIO_PinModeSet(GPIOC,GPIO_Pin_3,gpioModeInputPull,0X00);
GPIO_PinModeSet(GPIOC,GPIO_Pin_4,gpioModePushPull,0X00);
GPIO_PinModeSet(GPIOC,GPIO_Pin_5,gpioModePushPull,0X00);
}
void AD5421_Configuration(void)
{
ULONG lTempi,lTempj;
DA_SYNC_H;
DA_LDAC_H;
AD5421_Delay(0X0A);

lTempj=DAC_WRITEADDRESS|CONTROL_REGISTER|0X7000;
AD5421_Write(lTempj);

lTempj=DAC_WRITEADDRESS|DAC_REGISTER|0X8000;
AD5421_Write(lTempj);

lTempj=DAC_WRITEADDRESS|OFFSET_ADJUST_REGISTER|0X8000;
AD5421_Write(lTempj);

lTempj=DAC_WRITEADDRESS|GAIN_ADJUST_REGISTER|0XFFFF;
AD5421_Write(lTempj);
}

理论是给出12mA的电流,用万用表测得实际电流为远远超过量程,最终检查程序和电路,发现电路上AD5421第10脚没接电阻,然后对地的二极管画反,改正电路后,正常…
软件代码对寄存器操作正确就没问题。

Q群:77203167
...全文
157 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧