共2条 1/1
1
跳转至
页
TLC2543 请问在线用过TLC2543的高人
问 在配合多路开关CD4051切换时,怎样A/D的数据才能保证准确
答
1: 似乎和4051关系不大ad的精准和它的基准电压有很大关系。
还有就是你对2543的时序掌握(不过SPI似乎对时序要求不严格)
网上有例程,找找看。 答 2: 但是我读单路是准的但是我读单路是准的,一加切换,切换到最后一路是准的,前面个通道的值就会很大 答 3: 你切换的时候有没有关掉2543的片选? 答 4: 切换后丢掉几个数据切换后丢掉几个先测到的数据。依据信号建立时间而定。
如果输入带宽是100K,那么就要丢掉0.1ms的数据,甚至更多。 答 5: 要注意读的数据是上一次转换完的数据要注意读的数据是上一次转换完的数据
void read2543(uchar port) // TLC2543Sampling routine
{
uchar i;
ad=0;
port<<=4;
ADclk=0;
ADcs=0;
delay(3);
for(i=0;i<12;i++)
{
if(ADdout) ad|=0x01;
ADdin=(bit)(port&0x80);
ADclk=1;
ADclk=0;
port<<=1;
ad<<=1;
}
ADcs=1;
ad>>=1;
}
输入的参数是下一次需要读的通道的地址,调用此子程序完后得到的ad的值是上一次调用此子程序时,输入的port参数指定的通道的数据。
搞清楚这个应该就没问题了 答 6: 顶一下,楼上的真是菩萨心肠,连子程序都送了 -)
还有就是你对2543的时序掌握(不过SPI似乎对时序要求不严格)
网上有例程,找找看。 答 2: 但是我读单路是准的但是我读单路是准的,一加切换,切换到最后一路是准的,前面个通道的值就会很大 答 3: 你切换的时候有没有关掉2543的片选? 答 4: 切换后丢掉几个数据切换后丢掉几个先测到的数据。依据信号建立时间而定。
如果输入带宽是100K,那么就要丢掉0.1ms的数据,甚至更多。 答 5: 要注意读的数据是上一次转换完的数据要注意读的数据是上一次转换完的数据
void read2543(uchar port) // TLC2543Sampling routine
{
uchar i;
ad=0;
port<<=4;
ADclk=0;
ADcs=0;
delay(3);
for(i=0;i<12;i++)
{
if(ADdout) ad|=0x01;
ADdin=(bit)(port&0x80);
ADclk=1;
ADclk=0;
port<<=1;
ad<<=1;
}
ADcs=1;
ad>>=1;
}
输入的参数是下一次需要读的通道的地址,调用此子程序完后得到的ad的值是上一次调用此子程序时,输入的port参数指定的通道的数据。
搞清楚这个应该就没问题了 答 6: 顶一下,楼上的真是菩萨心肠,连子程序都送了 -)
共2条 1/1
1
跳转至
页
回复
有奖活动 | |
---|---|
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! |