以下のような環境において、表題のレジスタに値を設定できない事象が発生しており、解決のヒントなどいただければ幸いです
CPU種別:R5F566TKCxFB
動作モード:シングルチップモード
動作させたいモジュール:GPTW7
発生する現象:GPTW7のGTPRに値0x39Aを設定するが、読みだすと0xffffffffと見える
GTCCRA,B,C,Dも同様
GPTW7.GTCR.BIT.CSTに1をセットするが、読みだすと0となっている、GPTW7.GTCNTも0を示しており、GPTW7は動作していないと推測
ただ、GPTW7.GTCR.TPCSを1や2とセットすると、セットした値が確認できる
GPTW7.GTIORは設定可能、任意の値をセットできる
GPTW7.GTIOR.OADFLTを設定し、0にすると、GTIOCnA端子に設定しているポートはLowやHighになるので、マルチファンクションピンコントローラ(MPC)などのポート設定は意図したとおりに設定できているものと考えられる。
上記のような状況なのですが、GTPRやGTCCRm(mはA~F)に値を設定できない理由はなにかあるでしょうか
自己解決というか、関連する修正すべき個所を発見しました。
仕様書の「バスクロック:PCLKA、GPTWカウント基準クロック:PCLKC周波数比PCLKA:PCLKC = 1:1, 1:2」の関係が適切な組み合わせになっておらず、この設定をまず仕様書にある適切な値に修正して確認をやり直そうかと思います。
クロック設定の問題もあるかも知れませんが、当該レジスタに書き込めない場合は、
GTWP.WP=1
になっている気がします。GPTWの書き込みプロテクトレジスタです。
私もこれだと思います。
スマートコンフィギュレータを使っていると思いますが、私はステッピングモータドライバICにパルス出力を出すために使ったことありますが生成されたR_Config_XXX_Create_User_Init関数の中にGPTWn.GTWP.LONG = 0x0000A500UL;を追加して常時書き換えできるようにしています。
コメントをいただきまして、ありがとうございました。
目論見通り、クロック設定の見直しで無事解決することができました。不十分な記載であったにかかわらず、皆さんからのコメントを頂けまして、ありがたく思いました。
また何かありましたら、投稿させていただければと思います。