WDTについて

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

cross mob
kiyo
Level 3
Level 3
50 sign-ins 10 replies posted First like given

WDTについてしえて下さい。

Low Frequency ClocksでILO,WCOを有効にしてLFCLKはILOを選択しています。

LFCLKはBLEとWDTで使用しています。

 

本来は、LFCLKをWCOとしたいのですがそうすると500msのWAITが入ってしまいイニシャル時の他との通信が間に合わないのでそのようにしています。

他との通信終了後にLFCLKをILO→WCOに変更しています。

 

CySysWdtDisable(CY_SYS_WDT_COUNTER0_MASK); → 他との通信の際にはWDTはいらないので無効にする。

他との通信処理

CySysClkSetLfclkSource(CY_SYS_CLK_LFCLK_SRC_WCO); → ILO→WCOに切替え

CySysClkIloStop(); → ILOを停止

CySysWdtEnable(CY_SYS_WDT_COUNTER0_MASK); → WDTを有効にする。

while(1);

 

上記だとWDTがかかりません。

CySysClkSetLfclkSourceとCySysClkIloStopをコメントにするとWDTがかかります。

おそらくWDTのソースをILO→WCOに変更するような処理が必要なのだと思いますがどのように変更すれば宜しいでしょうか?

0 件の賞賛
1 解決策
AikoO_51
Moderator
Moderator
Moderator
100 sign-ins First question asked 50 solutions authored

CYBLE-222014-01であれば、WCOをWDTに使用していただいて問題ありません。

加えて、WCOが起動していない可能性がございます。

WCO使用時に、CySysClkWcoStart()は呼び出されておりますでしょうか。

必要となるAPIについては、以下のKBAをご参照ください。

https://community.infineon.com/t5/Knowledge-Base-Articles/PSoC-4-PRoC-BLE-WCO-%E7%94%A8%E5%A4%96%E9%...

Aiko Ohtaka
Infineon Technologies

元の投稿で解決策を見る

0 件の賞賛
5 返答(返信)
AikoO_51
Moderator
Moderator
Moderator
100 sign-ins First question asked 50 solutions authored

WDTを使用する際にはまず、IgnoreBitやMatch値を設定やInterruptのクリアをする必要があります。WDTの実装に必要となるAPIと一連の流れについては一度Code Exampleにてご確認ください。
https://github.com/Infineon/mtb-example-psoc4-wdt/blob/master/README.md

Aiko Ohtaka
Infineon Technologies
0 件の賞賛

このExampleのmain.cで使用されている関数はどこを見れば詳細がわかるのでしょうか?

例えば、Cy_WDT_ClearInterrupt,Cy_WDT_UnmaskInterrupt,Cy_WDT_SetMatchなどです。

0 件の賞賛
AikoO_51
Moderator
Moderator
Moderator
100 sign-ins First question asked 50 solutions authored

まず初めにどちらのデバイスを使用されているかご確認させていただいてもよろしいでしょうか。

デバイスによってはWDTにWCOを使用できない場合がございます。

Aiko Ohtaka
Infineon Technologies
0 件の賞賛

CYBLE-222014-01になります。

0 件の賞賛
AikoO_51
Moderator
Moderator
Moderator
100 sign-ins First question asked 50 solutions authored

CYBLE-222014-01であれば、WCOをWDTに使用していただいて問題ありません。

加えて、WCOが起動していない可能性がございます。

WCO使用時に、CySysClkWcoStart()は呼び出されておりますでしょうか。

必要となるAPIについては、以下のKBAをご参照ください。

https://community.infineon.com/t5/Knowledge-Base-Articles/PSoC-4-PRoC-BLE-WCO-%E7%94%A8%E5%A4%96%E9%...

Aiko Ohtaka
Infineon Technologies
0 件の賞賛