ToCoNet_u16RcCalib()

解説

​ RCタイマーをキャリブレーションします。
  • キャリブレーションの実行
  • キャリブレーション値の取得
  • キャリブレーション値の設定
キャリブレーション値の取得には ToCoNet_u16GetRcCalib() も利用できます。

32768Hz 外部オシレータの利用

キャリブレーションは不要で 固定値 9766 (32000/32768) カウントを指定します。cbAppColdStart() にて以下の例のように指定します。
1
// TWENET ライブラリ 1.2.0 以降のみで有効
2
void cbAppColdStart(bool_t bAfterAhiInit)
3
{
4
if (!bAfterAhiInit) {
5
ToCoNet_REG_MOD_ALL();
6
} else {
7
ToCoNet_Event_Register_State_Machine(vProcessEvCore);
8
...
9
// システム起動時のキャリブレーションの省略
10
sToCoNet_AppContext.bSkipBootCalib = TRUE;
11
// 固定値の設定(v1.2以降)
12
ToCoNet_u16RcCalib(9766);
13
}
14
}
15
16
void vProcessEvCore(
17
tsEvent *pEv,
18
teEvent eEvent,
19
uint32 u32evarg) {
20
21
if (eEvent == E_EVENT_START_UP) { //システム始動時
22
// 固定値の設定
23
ToCoNet_u16RcCalib(9766);
24
}
25
}
26
Copied!

引数

名前
内容
uint16
​u16val
0
キャリブレーションを実施する。キャリブレーションには1ms未満ですが、若干の時間を要します。
5000-15000
キャリブレーション値を設定します。
0xFFFF
設定値を取得します。

戻り値

詳細
​uint16
u16val == 0xFFFF のときに、現在の設定値を返す。それ以外は未定義。​

サンプル

1
vfPrintf(&sSerStream, "RC Calib = %d"LB, ToCoNet_u16GetRcCalib());
Copied!