--/--/--  --:--    スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2007/10/26  23:27    タイマ0でウェイト関数
考えて見たら、いままでずっとfor分でループして時間稼ぎしてたので、
ちゃんとタイマ使って時間稼ぎできるようにしました。
最近プログラムをちゃんと残せと某部長が言っていた気がしましたので、
とりあえずあげてみます。
一応人に見せても恥ずかしくないプログラムにしたつもりです。
txtにしてありますので、.txtを.hに直してincludeフォルダの中にでも突っ込めば
includeして使えます。
t0_wait.txt
このウェイト関数はタイマ0を使用した時間稼ぎです。
一応、ATtiny45で動作は確認済みです。
たぶん、タイマ0の仕様がATtiny45と一緒のマイコンであれば
ほかのマイコンでも使えると思います(無責任でごめんなさい)

さて、このウェイト関数の使い方ですが、
まず、IOポートの定義などと一緒に、
t0_wait_set();をしましょう。
この関数で、タイマ0の設定を全て行ってくれます。
次に、時間稼ぎをしたいときは、
t0_wait(10);というような感じで使用します。
()の中に入っている数字はどのくらいウェイトするかです。
0.1秒*()の中にいれた数字の時間だけ時間を稼ぎます。
上記のt0_wait(10);でしたら、0.1*10=1なので、
1秒間時間を稼ぎます。
こんな感じです。
簡単ですねw
一応これでもわからない人のために、
ATtiny45でLEDを1秒間隔でつけたり消したりするプログラムもあげておきますねw
tiny45_test.txt
.txtを.cにしてください。

あとそこで使用しているレジスタのビットごとの操作するためのヘッダファイルです。
これをincludeしていないと上記のwait関数も動きませんのでご注意を
port.txt
.txtを.hにしてincludeフォルダにでもいれておいてください。
私が作るプログラムはすべてそのport.hがincludeしています。
これがあると取っても便利なのでぜひincludeフォルダにいれておくことをお勧めします。

上記のプログラムは、PB3からは常時Highを出力。
PB4からは1秒ごとにHigh、Lowを繰り返します。
LEDでもつなげてみてください。


とりあえずこんな感じです。
ちゃんとしたwait関数を作っておくと便利ですねw
これからどんどん使用したいと思います。
Secret

TrackBackURL
→http://amenotiyukizora.blog76.fc2.com/tb.php/143-81e00d73
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。