Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

PSoC® 3/PSoC 5LP ウェイクアップソースとしてのスリープタイマ (Sleep Timer) - KBA90926 - Community Translated (JA)

PSoC® 3/PSoC 5LP ウェイクアップソースとしてのスリープタイマ (Sleep Timer) - KBA90926 - Community Translated (JA)

GeethaP_31
Employee
Employee
50 questions asked 10 questions asked 5 questions asked

Community Translated by  MoTa_728816 Expert         Version: **

Translation - English: Sleep Timer as a Wake-Up Source in PSoC® 3 and PSoC 5LP – KBA90926

質問:PSoC 3 や PSoC 5LP でスリープタイマ (Sleep Timer) をウェイクアップソースとして使用する場合に注意する事は何ですか?

回答:

PSoC 3 や PSoC 5LP ではスリープタイマ (Sleep Timer) はオルタネートアクティブモードやスリープモードからのウェイクアップソースとして使用することが可能です。それは 1-kHz の内蔵低周波発振器 (ILO) に基づく、セントラルタイマホイール (CTW) を使用します。下図が PSoC Creator™で使用できる Sleep Timer コンポーネントです:

001-182942.png

重要:

Sleep Timer がウェイクアップソースとして使用される場合、Sleep Timer が割込みを発生する度に SleepTimer_GetStatus API をコールする必要があります。Sleep Timer による割込み時に SleepTimer_GetStatus() 関数が呼ばれないと割込みがクリアされません。割込みから抜けたとたんに再度割込みに入ってしまいます。この関数は Sleep Timer の ISR 内に記述することが可能です。

SleepTimer_GetStatus() 関数は内部で CyPmReadStatus 関数を CY_PM_INT_SR_REG ステータスレジスタの2番目のビット CY_PM_CTW_INT を引数としてコールします。このステータスレジスタは FTW や OPPS 等他のイベントのステータスも含んでいますが、CTW イベントのマスクビットが渡されるために、CTW イベントに関係したビットのみがクリアされます。結果として CTW 割込みステータスがクリアされます。

Sleep Timer コンポーネントを正しく動作させるために、毎回デバイスがウェイクアップした時と毎回 Sleep Timer 割込みが発生した時には SleepTimer_GetStatus() 関数をコールする必要があります。

0 件の賞賛
212 件の閲覧回数
寄稿者