R8C/35CのUARTに関してデータ長bit7で使用するとU0RBから読み出したとき、b7とb8が'1'になるのですが、これは仕様なのでしょうか?例えばアスキーの'A'を送ると16bitアクセスでU0RB0は0x1c1が読み出せます。データ長7bitの時は0x7Fと&を取らなければいけないのでしょうか?
データ長8で使用したときは'A'を受信した時余計なbitは立たず、
しっかりと0x0041が読み出せます。
チョコです。
0x7Fと&して、未使用ビットはマスクすべきだと思います。
R8C/35のマニュアルでUART0 受信バッファレジスタの初期値を見ると、
XXHとなっているので、未使用のビットは不定と考える必要があります。
図 22.2 送受信部のブロック図を見ると、受信時にはデータと指定した
ビットにしか書き込まないようなので、未使用ビットは不定のままに
なっていると考えられるので、マスクすべきかと思います。
Kon Nozomu(すと) さん
チョコさん
回答ありがとうございます。
受信レジスタ不定とのことで納得しました。
7Fと&をとることにします。