微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > TLV2541ADC驱动程序求助

TLV2541ADC驱动程序求助

时间:10-02 整理:3721RD 点击:

我在 使用TLV2541时写的驱动会出现数据丢失的问题,比如后6位一直为1,则读得的最小值是63,分度值也就变成了63,有时候是127,驱动是自己写的,不知道是不是驱动写的有问题,请问有没有TLV2541的驱动函数供参考,谢谢。

uint get_adc() {   

 uchar i;   

uint adc_value=0;

   SCLK = 0;   

 SCLK = 1;   

 SCLK = 0;   

ACS = 0;

   for(i=0;i<16;i++)  

  {       SCLK = 1;      SCLK = 0;    }

   delay_us(10); 

   ACS = 1;   

 SCLK = 0;   

 SCLK = 1;   

 SCLK = 0;

   delay_us(5);

   ACS = 0;

   for(i=0;i<11;i++)  

  {       SCLK = 1;      adc_value <<= 1;      SCLK = 0;      adc_value |= SDO;    } 

   ACS = 1;   

SCLK = 1;   

adc_value <<= 1;   

SCLK = 0;   

 adc_value |= SDO;   

 SCLK = 0;

   return adc_value; }

可能程序本身没有错误, 但是在 SCLK 变化之间, 最好都增加一点延时, 以保证 TLV2541 可靠的时钟信号识别

多次采样求平均值

第一个16次循环作用是干啥?后面需要延时吧!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top