Renesas Synergy™

FAQ 1007946 : デバイス内部の周辺I/OレジスタをC言語で読み書きできますか?

回答

Cソースにプラグマ指令を追加すれば、デバイス・ファイルに定義されている周辺I/Oレジスタ名やビット名で読み書きできます。
周辺I/Oレジスタ名は、通常の符号なし(unsigned)外部変数のように扱うことができます。

 


#pragma ioreg
	レジスタ名=...
	レジスタ名.ビット番号=...
	ビット名=...


上記プラグマ指令を記述した以降、周辺I/Oレジスタ名が使用可能となります。
指定可能なレジスタ名(略号)、属性等は、各デバイスに対応したデバイス・ファイルに定義されています。


記述例)


#pragma ioreg

main()
{
	int i;
	P0=1;	/* P0に1を書き込む */
	i=RXB0	/* RXB0から読み込み */
}

void func(void)
{
	P1=0;	/* P1に0を書き込む */
}

void func2(void)
{
	P0.1=1;	/* P0のビット1を1にする */
	P2.3=0;	/* P2のビット3を0にする */
	PS00=1;	/* ビット名PS00のビットを1にする */
}

 

 

 

適用製品

V850用コンパイラパッケージ [CA850]

 

 

 

 

他にご質問がございましたら、リクエストを送信してください