ポケコン PC-G850Vで電子回路工作(6/7)
アナログ入力を表現するのに、動的な棒グラフでキャッチ―にしてみた。
【ポケコンによるSPI通信(A/D変換)】
main() {
unsigned char a[34]={0,2,6,2,6,0,4,2,6,0,5,0,5,0,5,0,
5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,8,12,99};
int c,d,i;
unsigned char r;
int x=-1;int w;
clrscr();
outport(0x60,1);
outport(0x61,1);
do {
c=10;d=0;i=-1;
do {
outport(0x62,(a[i] & 0xFE);
if((a[i] & 1)!=0) {
r=inport(0x62);
if(c!=10) {
if(r==1)
d+=(1<<c);
if(c==0) {
w=(int)(d/8);
if(x!=w) {
line(x+(x<w),0,w+(x>w),15,2,0xFFFF,2);
x=w;
}
}
}
c--;
}
} while(a[i++]!=99);
} while(1);
}
xは前回のx座標。line文は後ろ3つが2=XOR、0xFFFF=塗り潰しパターン全て、2=長方形塗り潰しを示す。(x<w)は論理値が真なら1、偽なら0を利用。<、>はブログの制限で全角。
youtube:ポケコン SPI通信でアナログ入力
processingみたいにデザインに凝ると単なるデータもありがたみが増す。昔のNECのPCの画面がジャン=フランソワ・ミレーの絵画「落穂拾い」だったようなもの。