C - U-netSURF
C - U-netSURF
C - U-netSURF
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ところで,HEW でプロジェクトを 作 成 すると, 自 動 的 に“iodefine.h”が 生 成 されます。 通 常<br />
H8/3687 の I/O にアクセスする 際 ,“iodefine.h”で 定 義 されている 名 称 を 使 います。しかし,“iodefine.<br />
h”は 構 造 体 や 共 用 体 を 駆 使 して 定 義 されているため, 最暷 初 はとっつきにくく 感 じるかもしれません。<br />
それでも 慣 れてくると 非 常 に 便 利 です。<br />
“iodefine.h”で 定 義 されている 名 称 を 使 う 場 合 ,まずこのファイルをインクルードします。<br />
#include "iodefine.h" // 内 蔵 I/Oのラベル 定 義<br />
一 例 として“iodefine.h”でポート 6 は 次 のように 定 義 されています。( 黄 色 で 塗 りつぶしている 行<br />
はあとの 説 明 で 使 う 部 分 )<br />
struct st_io { /* struct IO */<br />
∫<br />
union { /* PDR6 */<br />
unsigned char BYTE; /* Byte Access */<br />
struct { /* Bit Access */<br />
unsigned char B7:1; /* Bit 7 */<br />
unsigned char B6:1; /* Bit 6 */<br />
unsigned ned char B5:1; /* Bit 5 */<br />
unsigned char B4:1; /* Bit 4 */<br />
unsigned char B3:1; /* Bit 3 */<br />
unsigned char B2:1; /* Bit 2 */<br />
unsigned char B1:1; /* Bit 1 */<br />
unsigned char B0:1; /* Bit 0 */<br />
} BIT; /* */<br />
} PDR6; /* */<br />
∫<br />
unsigned char PCR6; /* PCR6 */<br />
∫<br />
}; /* */<br />
∫<br />
#define IO (*(volatile struct st_io *)0xFFD0) /* IO Address*/<br />
∫<br />
それでは,ポートコントロールレジスタ 6(PCR6)に 値 をセットしてみましょう。ポート 6 は 全 ビット 出<br />
力 で 使 いますので,セットする 値 は 0xxFF です。<br />
モジュール 名 称<br />
I/O ポート: ポートコントロールレジスタ 6<br />
ビット 名 称<br />
レジスタ 名 称<br />
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0<br />
IO PCR6 (ビットアクセスは 未曑 定 義 )<br />
ソースリストから 分 かるように PCR6 は 共 用 体 を 使 ってビットアクセスするようには 定 義 されていま<br />
せん。それで 常 に 1 バイト 単 位 でアクセスします。ここでは PCR6 に 0xxFF をセットするので 次 のように<br />
50<br />
TK-3687mini ユーザーズマニュアル C 言 語 版