私はCに新しいとシリアルデバイスでの作業と私は、この行があります。Cの複合代入増分だけ右ビット
short DA, DacData;
DA=0xFFF;
DacData = ((channel&0x03)<<14)|((serialA&0x03)<<12)|(DA&0x6AA);
私はDacData(DA & 0x6AA)の最後の部分だけをインクリメントするにはどうすればよいのでは私のループ?前もって感謝します!
私はCに新しいとシリアルデバイスでの作業と私は、この行があります。Cの複合代入増分だけ右ビット
short DA, DacData;
DA=0xFFF;
DacData = ((channel&0x03)<<14)|((serialA&0x03)<<12)|(DA&0x6AA);
私はDacData(DA & 0x6AA)の最後の部分だけをインクリメントするにはどうすればよいのでは私のループ?前もって感謝します!
はこれを試してみてください:
DacData = ((channel&0x03)<<14)|((serialA&0x03)<<12) | ((DA&0x6AA) + 1);
は、ラップアラウンドがあることを考慮してください...
ありがとう!同じことを考えていた、それが正しい方法であるかどうかわからなかった私は私の研究室に行くときにこれが動作するかどうかを確認することができます。もしそうなら、それを答えとして受け入れるでしょう!ありがとう –
@ TakuzoKimura - それはオーバーフローの場合にも他の "部品"に影響します – StoryTeller
@ Spider-main noobの質問に申し訳ありませんが、周りのラップアラウンドはどういう意味ですか? –
あなたがあふれ最後の部分を気にしますか? – StoryTeller
わかりません。おそらくそうではありません! –
これは単純な '++ DacData'です... – StoryTeller