動的に CapSense のスキャン解像度を変更する - KBA228336- Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by MoTa_728816 Version: **
スキャン解像度の変更は実行時に感度を最適化する方法の一つです。スキャン解像度はシステムの初期化後に CapSense® の RAM データ構造内に保存されます。各ウィジェットのスキャン解像度については CapSense_Cofiguration.h の中に記載されます。スキャン解像度を変更後、CapSense_Start() の実行は必須ではありません。Cypress はスキャン解像度を変更した場合、以下のコードを実行してロウカウント(raw counts) と ベースライン (baselines) が新規の正しい位置にあることの確認することを推奨しています。
例えば、Widget Button 0 のスキャン解像度を 12-bit から 13-bit に変更:
/* 解像度を 12u から 13u に変更する */
CapSense_dsRam.wdgtList.button0.resolution = 13u;
/* ベースラインを再度初期化する為に以下のコードを実行する */
CapSense_ScanAllWidgets();
while(CapSense_NOT_BUSY != CapSense_IsBusy())
{}
CapSense_ProcessAllWidgets();
CapSense_FtInitialize();
CapSense_InitializeAllBaselines();
/* ベースラインを再度初期化するために上記のコードを実行する */
再校正も必須ではありません。スキャン解像度の変更後、CapSense はスキャン時間を倍にしたり半分にしたりして、大小のロウカウントを生成します。この処理において IDAC は解像度の変更に寄与しません。
参考文献:
PSoC 4 Capacitive Sensing (CapSense® CSD) Component Datasheet