16 ビット ワードから 2 バイトを抽出し、2 バイトから 16 ビット ワードを作成しようとしています。これは私が試したものです(byte = unsigned char、word = unsigned short):
grpix ワードを 2 バイトに分割します。
word grpix; // Assume that the value has been initialized
byte grpixl = grpix & 0x00FF;
byte grpixh = grpix & 0xFF00;
2 バイトから grpix ワードを作成
byte grpixh; // Assume that the value has been initialized
byte grpixl; // Assume that the value has been initialized
word grpix = grpixh;
grpix <<= 8;
grpix += grpixl;
なんらかの理由で、私のコードは期待どおりに動作しません。単語の「分割」が間違っているのか、単語の「作成」が間違っているのか、あるいはその両方なのかわかりません...私にアドバイス?