9 Replies Latest reply on Apr 9, 2019 10:57 PM by TaDa_1980266

    CY8CKIT-145 Sleep Timer

    TaDa_1980266

      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 への接続方法が良く分かりませんでした。

        • 1. Re: CY8CKIT-145 Sleep Timer
          TakashiM_61

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

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

          CE210290 - PSoC 4 CapSense Low-Power Ganged Sensor

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

          があります。

          一度ご確認ください。

          • 2. Re: CY8CKIT-145 Sleep Timer
            TaDa_1980266

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

             

            具体的にはWatchDocTimerではなく、

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

             

             

            処理A

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

              :

             

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

            {

               処理B

            }

             

            CE210290、CE210291は確認します。

            • 3. Re: CY8CKIT-145 Sleep Timer
              TaDa_1980266

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

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

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

               

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

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

              • 4. Re: CY8CKIT-145 Sleep Timer
                TakashiM_61

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

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

                 

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

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

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

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

                • 5. Re: CY8CKIT-145 Sleep Timer
                  TakashiM_61

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

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

                  • 6. Re: CY8CKIT-145 Sleep Timer
                    TaDa_1980266

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

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

                     

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

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

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

                     

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

                    • 7. Re: CY8CKIT-145 Sleep Timer
                      TaDa_1980266

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

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

                      • 8. Re: CY8CKIT-145 Sleep Timer
                        TakashiM_61

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

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

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

                        • 9. Re: CY8CKIT-145 Sleep Timer
                          TaDa_1980266

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

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

                           

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

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

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

                           

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

                           

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