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 FLGレジスタの確認方法
Home
Forum
Tags
More
Cancel
New
Replies
5 replies
Subscribers
443 subscribers
Views
2734 views
Users
0 members are here
UART通信プログラム
R8C
C言語
FLGレジスタ
エミュレータ
beginner
時々UART2
Options
Share
More
Cancel
Related
R8C FLGレジスタの確認方法
yosh
over 10 years ago
HEWを使用し、R8Cを使用したUART通信プログラムの
開発を行っています。
時々UART2の受信割り込みが発生しなくなる
現状が発生しており、原因を調べています。
この状態でも、該当の割り込み要求ビット(RI)は
\”1\”となっていることを確認しました。
このため、設定されているIPLのレベルより
UART2の優先レベルが低いため割り込みが発生しなく
なるのでは?と考えたのですが
どのようにIPL(FLGレジスタ)の値を
確認すればよいのでしょうか?
エミュレータは、H/W側の都合で接続できません。
開発にはC言語を使用しています。
よろしくおねがいいたします。
Kirin
over 10 years ago
yoshさん
エミュレーターが使用できない場合は昔ながらのデバッグ方法ですけども、メインルーチンのループ中からFLGレジスタの値を余っているポート(もしくはシリアル)から出力するようにすれば、確認できそうですよ。
さらにポートが余っていたら、FLGを出力するたびに出力値をトグルさせるポートもつけておくと、FLGが更新されているか分かって良いと思います。(プログラムが暴走しているかどうかも分かりますし)
Cancel
Up
0
Down
Reply
Cancel
yosh
over 10 years ago
kirin様
アドバイスありがとうございます。
余りシリアルポートをデバッグ出力に設定したのですが、
FLGレジスタ値を、C言語のソース上で
どうやって読み出せばよいのかが
分からないのです。。
SFR_R836c.h内には定義がありませんので・・・
Cancel
Up
0
Down
Reply
Cancel
Kirin
over 10 years ago
yoshさん
失礼しました。
FLGレジスタ値を、C言語のソース上でリードする方法でしたね。
C言語オンリーでの読み出し方法は、ちょっと思いつかないので
とりあえず、アセンブラ関数を呼び出して、STC命令でFLGレジスタを読み出すのがいいかと思います。
C言語の型宣言を
extern int asm_func( void );
として、アセンブラで以下の様に記述してみてはいかがでしょう?
.section program
.glb _asm_func
_asm_func:
stc FLG\,R0 ;return値(int型)にFLGを格納
rts
.END
詳細は、C コンパイラユーザーズマニュアルの53ページあたり
http://documentation.renesas.com/doc/products/tool/rjj10j2478_nc30_u.pdf
Cancel
Up
0
Down
Reply
Cancel
Kirin
over 10 years ago
C言語でCPUレジスタを扱うには実は以下のような宣言だけでいいかもしれませんorz
/*============================*/
/* CPUレジスタの宣言 */
/*============================*/
#pragma CREG _flg_ flg
http://www2.himdx.net/mcr/product/download/mini_micom_car_ver2_r8c_35a_exercise_manual.pdf 87ページ
サンプルコードに記載がありました。
Cancel
Up
0
Down
Reply
Cancel
yosh
over 10 years ago
kirin様
提示いただいたサンプルコードで
正しく動作させることができました!
どうもありがとうございました!
Cancel
Up
0
Down
Reply
Cancel