RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
今日は23時頃にPICのタイマー関数を作ろうと決意して作る。この作業ぐらいしかしていないように思えます。
まぁ実際は練馬で2つほど授業をやってきたんですけど・・・。
タイマー関数というのは、所謂NXT的タイマーです。
PICにもタイマーはあるのですが、秒単位でなく、PICのクロックそのものをカウントするという簡素なものなのです。
なのでNXTの様にタイマーを使用するには、色々とプログラムを書かないといけないのです。
でもそれはいちいちメンドクサイ・・・。
という訳で今回はNQCの様に、
ClearTimer関数で、タイマーリセット、Timer関数でタイマーの値を1ms単位で読み取るような関数を作ってみました。
それで一応完成はしたのですが、なにかがおかしいんです。
というのも、関数を作る際に、クロック数を秒に変換する変換公式があって、それに基づいて変換を行なうのですが、
16F1939で旧型の16Fの公式でそれをやったら、ちょうど1/20倍値が小さくなってしまいました。1/14倍でした。
つまり1秒のつもりが・・・えっと・・・0.05秒?になってしまったのです。約0.07秒ですね。
プログラムも変換式も間違っていないはずなのですが、何故かこんなことに。
とりあえず今のところは普通に値を20倍して難を逃れていますが、これはいったどういうことなのでしょうね。14倍!
これも旧型→新型の仕様変更なのか、自分の残念なミスなのかはまだ不明ですが、今のところこうなりました。
にしても不思議。2のn乗倍じゃなくて、1/20倍になるなんて。とりあえず試験後にでも原因探ってみようと思います。
1/14倍でも不思議ですよねー。
という訳で今日はこの辺でー。
(^・ω・)ノ RadiumProduction in RoboCup Junior
まぁ実際は練馬で2つほど授業をやってきたんですけど・・・。
タイマー関数というのは、所謂NXT的タイマーです。
PICにもタイマーはあるのですが、秒単位でなく、PICのクロックそのものをカウントするという簡素なものなのです。
なのでNXTの様にタイマーを使用するには、色々とプログラムを書かないといけないのです。
でもそれはいちいちメンドクサイ・・・。
という訳で今回はNQCの様に、
ClearTimer関数で、タイマーリセット、Timer関数でタイマーの値を1ms単位で読み取るような関数を作ってみました。
それで一応完成はしたのですが、なにかがおかしいんです。
というのも、関数を作る際に、クロック数を秒に変換する変換公式があって、それに基づいて変換を行なうのですが、
16F1939で旧型の16Fの公式でそれをやったら、ちょうど1/20倍値が小さくなってしまいました。1/14倍でした。
つまり1秒のつもりが・・・えっと・・・0.05秒?になってしまったのです。約0.07秒ですね。
プログラムも変換式も間違っていないはずなのですが、何故かこんなことに。
とりあえず今のところは普通に値を20倍して難を逃れていますが、これはいったどういうことなのでしょうね。14倍!
これも旧型→新型の仕様変更なのか、自分の残念なミスなのかはまだ不明ですが、今のところこうなりました。
にしても不思議。2のn乗倍じゃなくて、1/20倍になるなんて。とりあえず試験後にでも原因探ってみようと思います。
1/14倍でも不思議ですよねー。
という訳で今日はこの辺でー。
(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
(07/27)
(05/29)
(03/15)
(01/01)
(05/07)
(01/11)
プロフィール
HN:
Luz
性別:
男性
アーカイブ