前回、P48,P48を使ってLチカを試してみました。
今回はP60を使ってLチカを試してみます。
ハードウェアマニュアルによると、
P6DDRレジスタの0ビット目を1にするとP60が出力ポートとなり、P6DRの0ビット目が出力される。
P6DDRレジスタの0ビット目を0にするとP60が入力ポートとなる。
BCRレジスタのWAITEビットを0にするとP60が入出力ポートとなる。
BCRレジスタのWAITEビットを1にした場合はWAIT入力端子になるのでP60DDRは1にセットしないこと。(今回は関係ない)
BCR(バスコントロール)レジスタ
リセットおよびハードウェアスタンバイモード時に、HC6にイニシャライズされる。
ということでWAITEの初期値は0でしたが不安な場合はプログラムでBCRレジスタにC6を書き込んでも良いかもしれません。
P60も前回のP47,P48と同じように使える筈。
前回のプログラムを書き換えます。
#include <h8/reg3067.h>
#include <h8/syscall.h>
#define LED1 1;
int main(int argc, char **argv){
int i;
ABWCR=0xff;
P6DDR = 0x01;
while(1){
printf("\nLED Test\n");
for(i=0; i<10; i++){
P6DR = LED1;
sleep(10);
P6DR = 0;
sleep(10);
}
}
return 0;
}
コンパイル、変換、転送は前回と同じです。
転送出来ない場合は、一度USBを抜き差しすると良いかもしれません。
P60ポートはIC4の5番ピンに繋がっておりIC4には5VもGNDも接続されています。
IC4のGNDは1,3,4ピンです。
というとこで、P60をI/Oポートにすると下の写真のように少し幸せになれます。
以上、ご利用下さい。(。・ω・)ノ゙