久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1179|回復: 4
打印 上一主題 下一主題
收起左側

關于AD1255讀數大小與輸入成反比的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:1108750 發表于 2024-7-23 22:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大佬,我用ADS1255讀數,結果讀數結果與輸入電壓的大小成反比,線性關系是滿足的,檢查了高位和低位讀取順序沒有問題,不知道會是什么原因呢?參考電壓2.5V,輸入電壓0-2.5V,PGA設置為1.
讀取函數如下:
signed int ADS1256ReadData(unsigned char channel)  
{
        unsigned int sum=0,sum1,sum2,sum3=0;
        while(ADS1256_DRDY);                                                                //當ADS1256_DRDY為低時才能寫寄存器
        ADS1256WREG(ADS1256_MUX,channel);                                        //設置通道
        CS_0();
        SPI_WriteByte(ADS1256_CMD_SYNC);
        SPI_WriteByte(ADS1256_CMD_WAKEUP);                      
        SPI_WriteByte(ADS1256_CMD_RDATA);
        delay_us(1000);
       
        sum1 = (SPI_WriteByte(0xff) << 16);
        sum2 = (SPI_WriteByte(0xff) << 8);
        sum3 = SPI_WriteByte(0xff);
        sum = sum1+sum2+sum3;
        CS_1();
        if (sum>0x7FFFFF)                                                           // if MSB=1,
        {
                sum -= 0x800000;                                                       // do 2's complement
        }
       sum = sum*0.000596;//求電壓 單位mv
        return sum;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:280298 發表于 2024-7-24 07:06 | 只看該作者
如果是差分信號,成反比也正常,可以試著把電壓輸入線對調下;
實際應用中,是±都有的,看你怎么處理了
回復

使用道具 舉報

板凳
ID:1108750 發表于 2024-7-24 15:01 | 只看該作者
xo37 發表于 2024-7-24 07:06
如果是差分信號,成反比也正常,可以試著把電壓輸入線對調下;
實際應用中,是±都有的,看你怎么處理了

只用了一個輸入口呀,不是差分信號
回復

使用道具 舉報

地板
ID:878236 發表于 2024-7-31 09:53 | 只看該作者
你好,我看了一下,后面的判斷正負賦值寫錯了,你寫了
  1. sum -= 0x800000;                                                       // do 2's complement
復制代碼

根據datasheet中的23頁內容,正確應該是
  1. if (sum>0x7FFFFF)           // if MSB=1,
  2.         {
  3.                 sum -= 0x1000000;       // do 2's complement
  4.         }
復制代碼

同樣的,根據datasheet中的21頁部分,里面有說到讀取數據的標準流程,你前面的while(ADS1256_DRDY);只有一次,但是后面加了一個1ms的延時,你應該在讀數據前再次等待while(ADS1256_DRDY);,再去執行ADS1256_CMD_RDATA讀數據,否則你讀的數據已經是不穩定的了,你應該按照相應的操作去寫,這樣子才可以發揮ADS1255的性能。
回復

使用道具 舉報

5#
ID:1108750 發表于 2024-7-31 17:20 | 只看該作者
ag26259 發表于 2024-7-31 09:53
你好,我看了一下,后面的判斷正負賦值寫錯了,你寫了

根據datasheet中的23頁內容,正確應該是

好的,十分感謝!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.色综合 | 男人午夜视频 | 在线看片a | 丁香午夜| 黄色小视频在线播放 | www.桃色| 91久久综合亚洲鲁鲁五月天 | 在线观看免费av网站 | 成人一级片 | 一区二区国产在线 | 国产一区二区免费看 | 伊人久久综合 | 久久精品日韩 | www色| 在线黄网| 日本少妇网站 | 久草视频免费看 | 91青青草 | 亚洲 欧美 日韩 在线 | 久久久久国产一区二区三区 | 亚洲天堂免费视频 | 欧美精品在线视频 | 91精品看片 | 天天躁日日躁bbbbb | 免费91网站 | 欧美成人精品欧美一级乱黄 | 欧美精品一区二区在线观看 | 国产日批视频 | 久久免费看视频 | 日本免费一级片 | 久久在线免费观看 | 超碰在线中文字幕 | 国产伦精品一区二区三区免费视频 | 久久久精品一区 | 免费毛片在线播放 | 久久精品一区二区三区四区 | 久久久久久久久国产 | 国产91热爆ts人妖系列 | 中文字幕高清在线 | 亚洲国产精品久久久 | 日批视频免费在线观看 |