- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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に変更するような処理が必要なのだと思いますがどのように変更すれば宜しいでしょうか?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CYBLE-222014-01であれば、WCOをWDTに使用していただいて問題ありません。
加えて、WCOが起動していない可能性がございます。
WCO使用時に、CySysClkWcoStart()は呼び出されておりますでしょうか。
必要となるAPIについては、以下のKBAをご参照ください。
Infineon Technologies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
WDTを使用する際にはまず、IgnoreBitやMatch値を設定やInterruptのクリアをする必要があります。WDTの実装に必要となるAPIと一連の流れについては一度Code Exampleにてご確認ください。
https://github.com/Infineon/mtb-example-psoc4-wdt/blob/master/README.md
Infineon Technologies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
このExampleのmain.cで使用されている関数はどこを見れば詳細がわかるのでしょうか?
例えば、Cy_WDT_ClearInterrupt,Cy_WDT_UnmaskInterrupt,Cy_WDT_SetMatchなどです。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
まず初めにどちらのデバイスを使用されているかご確認させていただいてもよろしいでしょうか。
デバイスによってはWDTにWCOを使用できない場合がございます。
Infineon Technologies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CYBLE-222014-01になります。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CYBLE-222014-01であれば、WCOをWDTに使用していただいて問題ありません。
加えて、WCOが起動していない可能性がございます。
WCO使用時に、CySysClkWcoStart()は呼び出されておりますでしょうか。
必要となるAPIについては、以下のKBAをご参照ください。
Infineon Technologies