SH2 SH7085 (7) sci (1) ― 2011年08月18日 22時52分14秒
しばらく間があいてしまった。
どこまでやったのか記憶が...
確かシリアルはまだやってなかったはずだ。
次はシリアルといこう。
ところがシリアルの送信がうまくいかない。
起動直後の1バイト、あるいは数バイトが文字化けする。
スクリーンショットはリセット直後に小文字の "l" を出力したものだ。
1文字ごとにリセットしている。
しかし、文字化けが終わるとその後は安定して送信できる。
ソフトの作成にはあまり自信がないのでサンプルを探してみる。
renesas にサンプルがあった。
「SCIF 調歩同期式シリアルデータ送受信機能」 さすがルネサスだ!
中身を見てみる。
自分で作成したプログラムと大して変わらない。
異なっている部分は
ボーレート設定の後
for(i=0; i<0x1000; i++); があるのと
PFC.PACRL で TXD1 と RXD1 に切り替える前に TXD1 を出力に設定してある。
PFC.PAIORL.WORD = 0x0010; //出力設定
なるほどこれか?
変更して動かしてみる。
今度は文字化けするばかりか起動直後に null code まで出力されている。
困った。
コンパイラの不具合によるものかもしれないので gcc と shc の両方で試してみる。
どちらも症状は同じだ。
これはチップのバグなのか?
この不具合、毎回出るのではない。
時々出るのだ。だから始末が悪い。
環境:High-performance Embedded Workshop Upgrade 4.09.00
KPIT GNUSH v0601 Windows Tool Chain (ELF)
どこまでやったのか記憶が...
確かシリアルはまだやってなかったはずだ。
次はシリアルといこう。
ところがシリアルの送信がうまくいかない。
起動直後の1バイト、あるいは数バイトが文字化けする。
スクリーンショットはリセット直後に小文字の "l" を出力したものだ。
1文字ごとにリセットしている。
しかし、文字化けが終わるとその後は安定して送信できる。
ソフトの作成にはあまり自信がないのでサンプルを探してみる。
renesas にサンプルがあった。
「SCIF 調歩同期式シリアルデータ送受信機能」 さすがルネサスだ!
中身を見てみる。
自分で作成したプログラムと大して変わらない。
異なっている部分は
ボーレート設定の後
for(i=0; i<0x1000; i++); があるのと
PFC.PACRL で TXD1 と RXD1 に切り替える前に TXD1 を出力に設定してある。
PFC.PAIORL.WORD = 0x0010; //出力設定
なるほどこれか?
変更して動かしてみる。
今度は文字化けするばかりか起動直後に null code まで出力されている。
困った。
コンパイラの不具合によるものかもしれないので gcc と shc の両方で試してみる。
どちらも症状は同じだ。
これはチップのバグなのか?
この不具合、毎回出るのではない。
時々出るのだ。だから始末が悪い。
環境:High-performance Embedded Workshop Upgrade 4.09.00
KPIT GNUSH v0601 Windows Tool Chain (ELF)
最近のコメント