cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

ToWa_4096566
New Contributor

PSoC 4000S Prototyping Kit でディープスリープモード以下の低消費電力モードにして

1~2時間程度の間隔で数秒~数十秒程度アクティブモードで処理を実行したいのですが、実現する方法はありますか?

よろしくお願いいたします。

0 Likes
Reply
1 Solution
RyanZhao
Moderator
Moderator

Wakatsuki-san,

PSoC 4000Sのディープスリープモードに、WDTだけはアクティプ です。PSoC 4000S WDTの一番長い周期は2sです。

1~2時間程度の間隔でければ.... I2Cマスタを使用する場合は、I2Cウェイクアップをお勧めします。

WDTのISRに、ユーザーカウンタ(グローバル ヴァリアブル)を使用するをお勧めします。

For example:

/*************************Pseudo code**********************************/

WDT_ISR()

{

     /* This is NOT TRUE 1~2 hour sleep then wake up, it is just sleep-wakeup-sleep-wakeup-sleep-wakeup...for 1~2 hours */    

     WDT_Clear();

     Soft_Counter++;

}

...

...

main()

{

     ...

     for(;;)

     {

          ...

          if (Soft_Counter>=N)

          {

               Soft_Counter = 0;

               /*Do user task*/

          }

          else

          {

               /* Enter Deep Sleep */

          }

          ...

     }

     ...

}

/*************************Pseudo code**********************************/

よろしくお願いいたします。

Ryan

View solution in original post

0 Likes
Reply
2 Replies
RyanZhao
Moderator
Moderator

Wakatsuki-san,

PSoC 4000Sのディープスリープモードに、WDTだけはアクティプ です。PSoC 4000S WDTの一番長い周期は2sです。

1~2時間程度の間隔でければ.... I2Cマスタを使用する場合は、I2Cウェイクアップをお勧めします。

WDTのISRに、ユーザーカウンタ(グローバル ヴァリアブル)を使用するをお勧めします。

For example:

/*************************Pseudo code**********************************/

WDT_ISR()

{

     /* This is NOT TRUE 1~2 hour sleep then wake up, it is just sleep-wakeup-sleep-wakeup-sleep-wakeup...for 1~2 hours */    

     WDT_Clear();

     Soft_Counter++;

}

...

...

main()

{

     ...

     for(;;)

     {

          ...

          if (Soft_Counter>=N)

          {

               Soft_Counter = 0;

               /*Do user task*/

          }

          else

          {

               /* Enter Deep Sleep */

          }

          ...

     }

     ...

}

/*************************Pseudo code**********************************/

よろしくお願いいたします。

Ryan

View solution in original post

0 Likes
Reply
ToWa_4096566
New Contributor

RyanZ_36 様

回答いただきありがとうございます。

方法について了解しました。

グローバル変数のカウンタを使って実現する方法を試してみたいと思います。

0 Likes
Reply