24.01.2015 Views

C - U-netSURF

C - U-netSURF

C - U-netSURF

SHOW MORE
SHOW LESS
  • 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 言 語 版

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!