I am trying to manipulate the data received from my TI ADS1220 using Arduino and MATLAB. I get readings from the Arduino (using arduino toolbox) in the form of 3 bytes in 2's complement form (MSB, DATA, LSB).
I need to shift these bytes into a larger byte and then convert that to a voltage. Here is what I have tried when combining the bytes. From the examples I looked out it looks like I want to shift this into a 32 bit number but I'm not exactly sure why.
[bit]= writeRead(ADS1220, [RDATA,hex2dec('FF'), hex2dec('FF'),hex2dec('FF')]);
bit(:,1) =[]; %delete first bit
voltage = double(bitor((bitshift(uint8(dec2bin(bit(1))), 8)), bit(2)));
voltage2 = double(bitor((bitshift(voltage, 8)), bit(3)));

 채택된 답변

ECEdesigner
ECEdesigner 2016년 7월 17일

0 개 추천

Resolved issue

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Arduino Hardware에 대해 자세히 알아보기

제품

질문:

2016년 6월 12일

답변:

2016년 7월 17일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by