新石器Wiki

近年はシリコン(石)から進化した便利なもので溢れる時代。そんな気になった事や試した事など記す。

ユーザ用ツール

サイト用ツール


programing:tkernel-programing:tk-dly-tsk-time


差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

programing:tkernel-programing:tk-dly-tsk-time [2019/05/08 10:16] (現在)
yoko 作成
ライン 1: ライン 1:
 +tk_dly_tsk(1)での待ち時間
 +========================
 +`tk_dly_tsk(1)`での待ち時間は、1~2mSになる。
 +
 +経緯
 +----
 +以下のコードを実行して、信号をオシロで実測したら2m秒周期となったので確認した。
 +
 +<code c>
 +while (1) {
 +    tk_tly_tsk(1); ​     /* 1m秒待ちのつもり */
 +    port_inv(); ​        /* ポート信号反転 */
 +}
 +</​code>​
 +
 +説明
 +----
 +t-kernelの仕様書を確認すると、「(1)を指定した場合は、内部Tickタイマーの2回目の検出で起床する」と書かれている(尚、0指定は出来ない)。  ​
 +たぶん、最低でも指定した待ち時間以上は確保するとの考え方のよう。
 +
 +対応
 +----
 +1m秒待ちしたい場合は、T-Kernelの「周期ハンドラ」を使うか、自前でハードタイマ割込みでイベントフラグなどを使う。
 +
 +補足
 +----
 +
 +  * アバウトな待ち時間が必要な場合は、`tk_dly_tsk()`でも十分使える。
 +  * iTronでもたぶん同様の動き。
  

スポンサーリンク
programing/tkernel-programing/tk-dly-tsk-time.txt · 最終更新: 2019/05/08 10:16 by yoko