2020年10月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリー

ブログパーツ

無料ブログはココログ

« 残念なお知らせ | トップページ | TrueSTUDIOからEclipseへ乗り換える(その3) »

2012年7月 7日 (土)

TrueSTUDIOからEclipseへ乗り換える(その2)

前回いきなりシェーキーのプログラムを試してひどい目にあいましたので、もっと簡単なプログラムから始めることにしました。

まずはラジコンサーボのパルス発生です。シンクロで確認したところ、これは問題なし。

次にUSARTを使ったシリアル通信をテストしました。ここで問題発生、ボーレートが狂っています。いろいろ調べていくうちにHSE_VALUEが間違っていることに気づきました。これは外付け水晶の周波数を定義するので、8000000(8百万ヘルツ)でなければなりませんが、80000000(8千万ヘルツ)になっていました。コピペした元がそうなっていたようです。おそらくUSARTとかを使わないと気づかないのでしょう。
コレを直して試しましたが、シンクロで見るとまだおかしい。3倍くらいのボーレートになっています。そういえばこのソースコードでは3倍のボーレートをセットしています。その顛末はこの投稿を見てください。コレがいけないようです。当たり前ですがボーレートをそのままセットしたところ、無事に通信できるようになりました。


ソフトの中身とは関係ないのですが、EclipseのデバッガだとSTM32F4 Discoveryのリセットがかかりにくい感じがします。デバッガにはボードをリセットするボタンはありません。しかし、最初の実行時にはリセットがかかり、main関数の入り口でブレークするはずなのですが、ときどきHard_Faultトラップに落ちたりすることがあります。最初のうちはリセットの問題とは気づかずに、プログラムを疑って時間を無駄にしてしまいました。
どうも手動でリセットしたほうが無難なようです。トラップされた状態からリセットするには、ボードのリセットボタンを押したままデバッガの実行ボタンをクリックし、その後リセットボタンを離せばOKです。

今回はここまで。次回はsprintfとsscanfを使えるようにします。
もうちょっとまとめたら「乗り換えガイド」の加筆訂正をしようと思います。

« 残念なお知らせ | トップページ | TrueSTUDIOからEclipseへ乗り換える(その3) »

管理人のページ」カテゴリの記事

ロボット作ろう」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: TrueSTUDIOからEclipseへ乗り換える(その2):

« 残念なお知らせ | トップページ | TrueSTUDIOからEclipseへ乗り換える(その3) »