[H8-ML(3252)] Re: 割込みによるシリアル通信について(ビットフィールド話)
From: hamayan <hamayan@xxxxxxxxxxxxxxxx>
Date: 2003年05月25日(日)13時56分50秒
hamayan です。

Shigeru> 「直してもらう」といっても、仕様が統一されていないんだから、
Shigeru> なおしようがないんじゃないでしょうか?
Shigeru> bit fieldをMSBから振ろうと、LSBから振ろうと別に、
Shigeru> コンパイラの欠陥でも、バグでもないですよ。
Shigeru> 
Shigeru> 「コンパイラの問題をビットフィールドの是非に話をすり替え」
Shigeru> しているわけでなく、互換性、移植性を問題にしているのです。
Shigeru> 
Shigeru> ただ、それがもっとも顕著に表れるのが、たまたま、
Shigeru> bit field, struct, unionになってしまうだけです。

平田さんが言っているビット位置がずれている話ってのは
LSB、MSBがひっくり返っているという話なのですか?
そもそも、コンパイラメーカーからバージョンアップの時に
何が変更されているのか、聞かないのですか?

でも書き順がひっくり返ったからと言って、メンバー名でア
クセスする構造体で、具体的にどんな問題が有ったのでしょうか?
ヘッダーを替えれば、互換性、移植性は維持されるのでは?

Shigeru> > 逆に、HEXで書く方がミスし易いと思いますが。
Shigeru> HEXで書くわけじゃなくって、
Shigeru> というような、ヘッダーを作っておき、
Shigeru> SMR0 = (ASYNC | CHRLEN8 | NONEPRTY | STOPLEN1 | !MP | CLKDIV1);
Shigeru> と書くんです。
Shigeru> これをbit fieldで書くのとどっちが分かりやすいでしょうか (^o^)

勿論この方法も使いますよ、表現の手段は幾つも有った方が良い。

所で、バスにWAITを挿入する時、15位まで挿入できたとしたら、
WAIT1からWAIT15までdefineマクロを用意するのでしょうか?

上の例で、キャラクタ長だけ変更したい時も、全部書かなけりゃいけない
のですか?
SMR0 = (ASYNC | CHRLEN7 | NONEPRTY | STOPLEN1 | !MP | CLKDIV1);

------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
	hamayan@xxxxxxxxxxxxxxxx
URL
	http://www003.upp.so-net.ne.jp/hamayan/
The Embeded Protocol Engine
    Navajoデモ中!続々新機能追加中!!
	http://hamayan.ddo.jp:8080/
★★★★★★★★★end of message and thank you★★★★★★★

スレッド概略
[表示中](起点)
 ├[3254(1)]
 └[3264(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]