CY8CKIT-145 Sleep Timer

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
TaDa_1980266
Level 4
Level 4
50 replies posted 25 replies posted 10 replies posted

CY8CKIT-145向け環境(CY8CKIT-145 Code Example.zip)でSleepとTimerを使ったサンプルコードが欲しいです。

Sleepは cyLib.h の void  CyDelayUs() でしょうか?

Timerは [Cypress Component Catalog] - [Digital] - [Function] -[Timer Counter(TCPWM mode)]、[Timer Counter PWM(TCPWM]の

コンポーネントを追加しましたが、Terminal "clock" requires connection when it is bisible.というエラーが発生します。
TCPWM_P4_v2_10.pdf を確認しましたが、clock への接続方法が良く分かりませんでした。

0 Likes
1 Solution

One-shotのタイマーを張って、その(タイマー時間満了)割り込みを使用するのはどうでしょうか。

CE195385 – PSoC 4 TCPWM Periodic Interruptは周期的にタイマー割り込みを発生させLEDを点滅させるCEですが、

これをボタン押下後、(1秒)タイマーをスタートさせ、その割り込みをトリガとして次の動作をさせるは如何でしょうか。

View solution in original post

0 Likes
9 Replies
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

先ず前提として、御質問にSleepとTimerを使ったサンプルコードとありますが、具体的にどの様な動作、仕様を想定されていますか?

例えばWDTを使用していますが、

CE210290 - PSoC 4 CapSense Low-Power Ganged Sensor

CE210291 - PSoC® 4 CapSense® Low-Power One Button

があります。

一度ご確認ください。

0 Likes

SleepもTimerもどちらも 数秒処理を遅らせる動作 を行いたいです。

具体的にはWatchDocTimerではなく、

ボタン押下検出後、1秒後に音を鳴らす 等の動作を追加したいです。

処理A

xxxxTimerStart(1000); // 1秒タイマ開始

void xxxxTimeOut() // 1秒経過後処理

{

処理B

}

CE210290、CE210291は確認します。

0 Likes

CE210290、CE210291を確認しましたが、以下が分かりませんでした。

どこでタイマ時間を指定するのか?

タイムアウト時に何のAPIが呼び出されるのか?

タイマ時間は追加したタイマコンポーネントのconfigure 'Timer_1'

Timer/Counter Tab の Period の Register(Default=65535)でしょうか?

0 Likes

タイマ時間はTimer/Counter Tab の Periodで設定可能です。

(下記はCE195385 – PSoC 4 TCPWM Periodic InterruptでのTimer Configurationです)

pastedImage_1.png

前回CE210290、CE210291を紹介いたしましたが、これはただ単に例であって、所望のシステムではないと認識しています。

再度ではございますが、詳細を頂けないでしょうか?

ボタン押下後、1秒のタイマーを張って音を鳴らしたい。その時Sleepはどのようにお考えか?

SleepはLow-power modeの認識ですが会ってますか?

0 Likes
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

また、TCPWM componentの詳細につきましては、下記Datasheetを参照ください。

https://www.cypress.com/file/220361/download

0 Likes

説明不足で申し訳御座いません。

私の言うSleepは省電力(Low-Power)用途ではなく、処理遅延(Deley)用途です。

具体例としては以下になります。

ボタン押下後、1秒のタイマーを張って音Aを鳴らし(*)、

0.5秒遅延後(Delay)にバイブを振動させる(*)。

(*)任意のポートをHi/Lowさせる

0 Likes

あとPeriodで設定したタイマー時間満了後の検知方法 or

呼び出されるAPI名について教えて下さい。

0 Likes

One-shotのタイマーを張って、その(タイマー時間満了)割り込みを使用するのはどうでしょうか。

CE195385 – PSoC 4 TCPWM Periodic Interruptは周期的にタイマー割り込みを発生させLEDを点滅させるCEですが、

これをボタン押下後、(1秒)タイマーをスタートさせ、その割り込みをトリガとして次の動作をさせるは如何でしょうか。

0 Likes

TimerコンポーネントにInterruptコンポーネントを追加し、

1回(One shot) 1秒でInterrupt関数が呼ばれる事を確認出来ました。

ただ、TimerコンポーネントはDigital/Functions配下、

Clock,InterruptコンポーネントはSystem配下と場所が異なっており、

見つけるのに時間が必要でした。

又、通常の処理遅延はcyLib.h のCyDelay(1000)で1秒遅れる事を確認しました。

Timer及びDelay処理動作を確認出来、問題解決しましたので、本件Closeします。

0 Likes