Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
Forums & Groups
English Community
中文社区(Chinese Community)
More
Cancel
かふぇルネ
forums-groups
Microcontrollers and Microprocessors
Other MCU/MPU Products
R8C/Tiny
More
Cancel
R8C/Tiny
106: R8C - Forum
R8C/2D
Home
Forum
Tags
More
Cancel
New
Replies
2 replies
Subscribers
445 subscribers
Views
1440 views
Users
0 members are here
2DR8C
R5F212D7SNFP
E8a
RDタイマー関連
trdstr
Options
Share
More
Cancel
Related
R8C/2D
ksj
over 9 years ago
R8C/2D(R5F212D7SNFP)のRDタイマー関連のSFRが書き換わりません(プログラム、ツール両方)。E8aとHEWの組み合わせで使用しています。
具体的には
trdstr = 0x0C;
と書いても01のままです。
何かわかりましたら教えてください。
Kirin
over 9 years ago
ksjさん
状況が良くわかりませんが
trdstr = 0x05;
trdstr = 0x04;
という順番で先にCSEL0を1にしてから、TSTART0に0をライトした場合trdstrがどうなるか試してみてください。
UMに以下の記述があります。
14.4.12 タイマRD使用上の注意事項
14.4.12.1 TRDSTRレジスタ
• TRDSTRレジスタはMOV命令を使用して書いてください。
• CSELi(i=0 ~ 1) ビットが“0”(TRDi レジスタとTRDGRAi レジスタのコンペア一致でカウント停止)の場合、TSTARTiビットに“0”(カウント停止)を書いても、カウントは停止せず、TSTARTiビットも変化しません。
したがって、CSELiビットが“0”のとき、TSTARTiビットを変化させずに他のビットを変更したい場合は、TSTARTiビットに“0”を書いてください。
また、プログラムでカウントを停止させる場合は、CSELiビットを“1”にした後で、TSTARTiビットに“0”を書いてください。同時に(1命令で)CSELiビットに“1”、TSTARTiビットに“0”を書いてもカウントは停止できません。
Cancel
Up
0
Down
Reply
Cancel
TOYKEY
over 9 years ago
ksjさん
TOYKEYと申します。
kirinさんが大変為になる事を書いてくれていますが、
それとは別件で疑わしいところがあるので、
書き込みます。
>trdstr = 0x0C;
>と書いても01のままです。
→trdstrレジスタの上位4ビットは予約ビットです。
リードすると全て1で読み出されるので、
0xF?とリードされるのが正常です。
タイマRDのレジスタがうまく読めないということは、
アクセスが無効になっているということです。
タイマRDとアクセス無効というキーワードから考えると、
このモジュール動いてないんじゃないでしょうか?
マニュアルのMSTCRレジスタについて読んでみてください。
Cancel
Up
0
Down
Reply
Cancel