亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: AD1256讀數跳變問題 [打印本頁]

作者: hc2002    時間: 2024-6-5 00:04
標題: AD1256讀數跳變問題
請教各位大佬,用AD1256讀數再用SPI與單片機通信,讀到的值要么是最大值(0XFFFFFFD8這種),要么是最小值(0X00000006這種),想請教是什么原因?是算法問題嗎?不知道為什么會有8位16進制數,是不是讀到地址了。

作者: rundstedt    時間: 2024-6-5 22:50
1)ADS1256是24位ADC,你給出的32位數據如果是準確結果,必然有8位是無意義的,猜測多出來的8位是因為c語言沒有24位數據類型,用了32位的。

2)你對二進制補碼數據的含義完全不理解,最大值是0x7fffff,最小值是0x800000,你給出的數據如果去掉最后8位無意義數據,那么就是0x000000和0xffffff之間波動,非常理想的0的狀態,24位精度完全達到了。
作者: hc2002    時間: 2024-6-6 21:38
rundstedt 發表于 2024-6-5 22:50
1)ADS1256是24位ADC,你給出的32位數據如果是準確結果,必然有8位是無意義的,猜測多出來的8位是因為c語言 ...

大佬,那為什么會有這種波動呢?通道輸入的是特定的直流電壓,不應該在這個電壓值附近波動嗎?
作者: rundstedt    時間: 2024-6-7 06:55
0x000000和0xffffff只相差Vref*(1/2^24),你就不能親自算算這個電壓有多高?
作者: wufa1986    時間: 2024-6-7 08:37
可能是有符號數吧,在負數和正數之間波動,你看起來波動大,實際就是幾點的漂移
作者: yaosongjin    時間: 2024-6-7 08:49
最大值應該是個負數,應該把最大值取反減1
作者: rundstedt    時間: 2024-6-9 15:31
yaosongjin 發表于 2024-6-7 08:49
最大值應該是個負數,應該把最大值取反減1

請親自查下ADS1256的datasheet,不能信口開河。
作者: 明日之星8    時間: 2024-6-12 08:12
我估計0X00000006是很小的大于0的數,0XFFFFFFD8是接近于0的負數,這些數都在0附近。
作者: rundstedt    時間: 2024-6-15 20:46
明日之星8 發表于 2024-6-12 08:12
我估計0X00000006是很小的大于0的數,0XFFFFFFD8是接近于0的負數,這些數都在0附近。

你說的非常對,樓主的問題應該是不知道如何把24位數據轉換到編譯器的有符號變量上面。
作者: hc2002    時間: 2024-6-19 15:35
rundstedt 發表于 2024-6-15 20:46
你說的非常對,樓主的問題應該是不知道如何把24位數據轉換到編譯器的有符號變量上面。

是的,所以想請問一下大佬怎么處理呢?

作者: hc2002    時間: 2024-6-19 15:36
wufa1986 發表于 2024-6-7 08:37
可能是有符號數吧,在負數和正數之間波動,你看起來波動大,實際就是幾點的漂移

但是我測量了輸入口的電壓為1.5V左右,怎么樣也不應該在0附近波動吧。
作者: hc2002    時間: 2024-6-19 15:37
明日之星8 發表于 2024-6-12 08:12
我估計0X00000006是很小的大于0的數,0XFFFFFFD8是接近于0的負數,這些數都在0附近。

大佬,但是我測量輸入口的電壓為1.5V左右,為什么讀數會在0附近波動呢?

作者: GlenXu    時間: 2024-6-19 20:27
我也糾結過這個問題,最后發現是不清楚:補碼的“滿碼”是多少,所以才會發現“混亂”。
滿碼對了,補碼當然就對了!因為我當時處理的24位“零”在中間,并不在最大或最小,所以”很亂“。




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1