发 帖  
原厂入驻New
[讨论]

有人用过AD5724R或者AD57xx系列芯片吗。。

2014-6-11 18:21:14  1181
分享
有人用过AD5724R或者AD57xx系列芯片吗。。。。具体怎么控制的,我看芯片资料,怎么操作都不对。。先写输出范围寄存器,再写电源控制寄存器,然后再写DAC寄存器发数据。。那个控制寄存器怎么用。。我是lpc2132通过spi控制AD5724R转换。。哪位用过给点指导。。有程序例子最好。。
0
2014-6-11 18:21:14   评论 分享淘帖
1 个讨论
附上程序。哪位知道的给看看

#include "config.h"              //0.4/0.5/0.6/0.7 分别是lpc2132的spi口的sck0,mosi,miso,ssel0,
#define slave_cs (1<<7)
void delayNs(uint32 dly)
{
        uint32 i;
        for(;dly>0;dly--)
                for(i=0;i<50000;i++);
}
void SPI_init(void)
{       
        PINSEL0=(PINSEL0&(0Xffff00ff))|(0X54<<8);
        SPCCR = 0X52;
        SPCR = (0<<3)|
                   (1<<4)|
                   (1<<5)|
                   (0<<6)|
                   (0<<7);
}
//uint8 const table[] = { 0x01,0xfe,0xa4,0xb0,0x99,0x92,0x82,0xf8,
//0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void SPI_SendData (uint32 data)
{       
        IO0SET = slave_cs;
        IO0CLR = slave_cs;
        delayNs(100);
        IO0SET = slave_cs;
        SPI_SPDR = data;
        while (0==(SPI_SPSR & 0X80));
        delayNs(100);
        IO0CLR = slave_cs;
        delayNs(100);
}
void ad_init()
{
        SPI_SendData(0x880000);
        SPI_SendData(0X100011);
}
int main (void)
{
    PINSEL0 = 0;
    IO0DIR = slave_cs;
    SPI_init();
    ad_init();
    SPI_SendData(0x00ef00);
   // SPI_SendData(0x1d0000);
  //  while(1);       
    return 0;
}

2014-6-11 18:47:31 评论

举报

撰写讨论

你正在撰写讨论

如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发讨论
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表