MSBバイトのビットを反転させる2つのバイト変数があります。私はエラー競合の種類を取得2バイトロング変数のバイトを逆転
uint16_t reverseByte(uint16_t b){
uint16_t b0 ;
uint16_t b1 ;
uint8_t revb;
uint8_t retb ;
b0 = b & 0x00FF;
b1 = b & 0xFF00;
revb = b1 >> 8;
retb = reverse_bits(revb);
b1 = retb;
b1 = b1 << 8;
return (b1 + b0);
}
:
uint8_t reverse_bits(uint8_t a){
return ((a & 0x1) << 7) | ((a & 0x2) << 5) |
((a & 0x4) << 3) | ((a & 0x8) << 1) |
((a & 0x10) >> 1) | ((a & 0x20) >> 3) |
((a & 0x40) >> 5) | ((a & 0x80) >> 7);
}
は、私は2番目のバイトを、私の変数を受け取り、逆に、この機能を書いた:
私はバイトを逆にこの機能を使用していますreverseByteは関数の最初の行にあります。
どうすれば修正できますか?私はコードがエレガントではないことを知っています。ただの修正が必要です。
ありがとうございました!
直接関係はありませんが、初期化する前に 'revb'を使用しています。 –
そして、どのラインで__exactly__でエラーが発生しますか?これを読んでください:[mcve]。 –
関数を使用した後で関数を宣言していますか? –