[英]How do I Store 2 8bit Register data into 1 16bit varrible?
我正在考慮從ADC轉換中獲取10位數據並將其存儲為1個16位整數數據,如0x03 ADRESH 0xFF ADRESL。 我現在正在做的是
data = 0x03 & ADRESH;
data = data << 8;
data = data & 0x03FF & ADRESL;
這項工作會以我認為應該的方式進行還是我會丟失一些東西? 謝謝您的幫助
你為什么不用|
操作員? short data = ((0x03 & ADRESH) << 8) | ADRESL;
應該工作正常。
你的代碼不起作用
data = data & 0x03FF & ADRESL;
應該更接近
data = data | ADRESL;
or
data |= ADRESL;
在16位data
執行8字節移位是很好的。
注意:不需要& 0x03FF
。
注意:確保的數據類型data
是至少16位。
注意:如果您仍然遇到問題,請確保10位對齊符合您的想法。 許多A / D模塊允許10位數據位於高10位而不是低位。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.