ポケコン PC-G850Vで電子回路工作(5/27)
リハビリを兼ねて5/6のBASICプログラムをC にしてみる。
【BASICプログラム】
10:OUT &H60,1
20:OUT &H61,1
30:A=INP &H62
40:IF A=1 THEN OUT &H62,2 ELSE OUT &H62,0
50:PRINT A;
60:GOTO 30
TEXTモードにして入力(メニューからEditを選ぶ)。
【Cプログラム】
10 main() {
20 unsigned char a;
30
40 outport(0x60,1);
50 outport(0x61,1);
60 loop:
70 a=inport(0x62);
80 if(a==1) {
90 outport(0x62,2);
100 } else {
110 outport(0x62,0);
120 }
130 printf("%d",a);
140 goto loop;
150 }
FileName=SW.C とする。
Cモード(Shift+TEXTボタン)にして、コンパイル(メニューからCompile)して実行(メニューからGo)すると、画面には0がずらーっと。SWを押すと0の後に1が続けて表示。押すのをやめると、0に戻る。

BASICよりは全然早いが目に留まらぬほどでもない。画面表示が遅いのか?
従ってチャタリングによるSW押下時の101010みたいなSWの接点バウンド(バウンダリング)は、見られなかった。