- ホームページメニュー
- 最近のコメント
- 電池の寿命について調べてみました に 58期生 より
- 赤外線センサについて に 55tomo より
- cnc開発 其ノ一 に kouji より
- cnc開発 其ノ一 に EfSie より
- 00年代も終わり に Flanker より
- カテゴリー
- アーカイブ
- オフィシャル
- サイト情報
- Amazonサーチ
- Advertise
| « cnc開発 其ノ一 |
00年代も終わり
こんにちは、中学部長です。
今年も終わりですね。思えば、テスト前の投稿以来一回も投稿していませんね。すいません。言い訳しますと、テストがあって、タブローがあって、クラブがあって、宿題があって・・・
で、今AVRをやっているんですが、koujiが少し前にいっているように、AVRのコンパイラの最適化により、wait関数が実行されていませんでした。なので引数にvolatileをつけなければいけませんでした。僕はここ(なぜかうごきません - buttのところ)を読むまでそのことに気づかなかったわけですが・・・(H8の時はつけていなくてもいけていたので、完全に忘れていました。マイコンが違うのですから、H8の気分ではいてはいけませんね。)
chibieggさんの詳しいコメントもあり、正確なwait関数はできたのですが、(chibieggさんありがとうございます!)どうせなら、タイマーを使ってwait関数を作ろうと思います。(タイマーの練習をかねて)今年の正月もロボットです。
ところで、中1君の状況ですが、AVRの実験ボードは一人完成させ、H8のマザーボード制作に入っています。(かなり苦労していますが。昨日完成したというのでプログラム書き込みをしようととしましたができませんでした)ほかの子はAVRのボード制作orライントレーサー制作です。頑張れ!プログラム担当はAVRを頑張ってます。





ちなみに、_delay_msや_delay_us関数を使うと大体は正確にDelayがかけれるのです。
が、割り込みを使っている場合、
例えばAD変換の割り込みが定期的に利用し変換結果を変数に代入してるなど、
では、delay_ms関数等は正確ではなくなります。そういう場合はタイマーを使うかdelayの間だけ割り込みを禁止するという手もあります。
コメント by chibiegg — 2009 年 12 月 27 日 @ 9:08 PM
なるほど~
ありがとうございます。参考になります。
コメント by Flanker — 2009 年 12 月 28 日 @ 12:41 AM