超音波センサ系関数
関数 | void uss_init(); |
機能 | 超音波センサの初期化 |
引数 | なし |
戻り値 | なし |
関数 | void uss_start(int ch); |
機能 | 超音波を送信する |
引数 | int ch:送信するチャネル |
戻り値 | なし |
関数 | void uss_stop(); |
機能 | 超音波センサカウンタのカウントストップ |
引数 | なし |
戻り値 | なし |
関数 | int uss_data(); |
機能 | 距離の計算 |
引数 | なし |
戻り値 | 事前に送信したセンサ方向の距離[cm] |
関数 | int uss_chk_int(); |
機能 | 割り込みタイプのチェック |
引数 | なし |
戻り値 | 1:正常0:ハードウェア異常 |
関数 | int uss_chk_conect(); |
機能 | センサのチェック |
引数 | なし |
戻り値 | 1:センサーがついていない0:ついている |
超音波の割り込みについて
上記のように割り込みタスク登録しsys11(1)を呼び出すことにより可能になる。
なお、sys11(1)は、赤外線センサでも使用するので注意が必要
割り込み時の処理はinterrupt void intt**()の中に書くようにする。
uss_start(X)を呼び出して、割り込みが起きたとき、uss_chk_int()が、1を返したら正常に計測が行われたということである。さらにuss_chk_conect()が、0を返したら、しっかり反射してきたことになる
使用例:超音波センサ(July 28,1998)
前のページへ