micao 发表于 2011-12-16 13:44:27

TLC2543为什么只能选取0通道

如题,我用TLC2543测量电压值,但是我无论怎么在程序里改通道,都是只能读取的0通道值。程序如下
uint read(uchar port)
{
        uchari,al=0,ah=0;
        unsigned long ad;
        clock=0;
        _cs=0;
        port<<=4;
        for(i=0;i<4;i++)
        {
                d_in=port&0x80;
                clock=1;
                clock=0;
                port<<=1;
        }
        d_in=0;
        for(i=0;i<8;i++)
        {
                clock=1;
                clock=0;
        }
        _cs=1;
        delay(5);
        _cs=0;
        for(i=0;i<4;i++)
        {
                clock=1;
                ah<<=1;
                if(d_out) ah|=0x01;
                clock=0;
        }
        for(i=0;i<8;i++)
        {
                clock=1;
                al<<=1;
                if(d_out) al|=0x01;
                clock=0;
        }
        _cs=1;
        ad=(uint)ah;
        ad<<=8;
        ad|=al;
        return(ad);
}
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_705249IO0MR5.jpg
(原文件名:1.jpg)

foreng5908 发表于 2012-1-9 22:27:38

我也遇到到同样问题,我用的是STM32,只有0通道接电源或接0V,全部通道显示0或4095 ,求解

micao 发表于 2012-1-10 10:58:52

回复【1楼】foreng5908
-----------------------------------------------------------------------

我的问题已经解决了 ,是因为TLC2543控制字写入的不对,应该写入一位,紧接着读取一位数据输出,这样就能随意选取通道了。我之前的程序是参考别人的一个小论文写的,那个人估计自己都没弄明白,就仿真了个0通道就把程序贴到论文上,事实证明他是错误的,呵呵。
我正在学STM32,刚开始,能指点下吗?

yl2006443 发表于 2012-2-23 17:00:05

回复【楼主位】micao
-----------------------------------------------------------------------

您好,能不能把你做的这个整套的TLC2543测量电压的资料给我呢,我现在急需这个资料,可是就是找不到比较全的。在这非常感谢了。
页: [1]
查看完整版本: TLC2543为什么只能选取0通道