|
しばっちさんへのお返事です。
早速にありがとうございます.
しかも「BASIC」のサンプルの表示パターンもありがとうございます.
ご教示いただいた内容で試そうと思いますが,
少し日が空いてしまいます.
(明日から3連休で機器が使えません.)
休み明けにすぐに試したいと思って自宅で準備しますが,
取り急ぎのお礼まででございます.
感謝申し上げます.
> とむさんさんへのお返事です。
>
> > バイナリデータの送信で悩んでいます.
> >
> > OPEN #1:NAME "COM1:38400,n,8,1"
> > PRINT #1: CMD$
> > では,CMD$ に上記のコマンドヘッダが書けない,つまりバイナリーを表現できないため悩んでいます.
> > 制御には,
> > コマンドヘッダ部(6バイト)の
> > FFh, FFh, 92h, 00h, C0h, 00h
> > に続いて,
>
>
> つまり下記のようなことでよろしいのでしょうか?
>
> OPTION CHARACTER BYTE
> OPEN #1:NAME "COM1:38400,n,8,1"
> PRINT #1:CHR$(BVAL("FF",16));CHR$(BVAL("FF",16));CHR$(BVAL("92",16));CHR$(BVAL("00",16));CHR$(BVAL("C0",16));CHR$(BVAL("00",16));
>
> BVAL関数で16進文字を10進数にしているだけなので簡易的に
>
> PRINT #1:CHR$(255);CHR$(255);CHR$(146);CHR$(0);CHR$(192);CHR$(0);
>
> でいいかと思います
>
> > その表示装置は,8ドット(縦)×48ドット(横)をドット毎にオン/オフ出来るのですが,
> > データ部を縦の8ドットを1列として1バイトにして,1列目,2列目,...,48列目と,48列分送るというものです.
> > なお,縦の8ドットは,00hからFFhまでのパターンの変化があります.
>
> ついでにコンバートプログラムも作ってみました。
>
> DIM A$(8)
> FOR I=1 TO 8
> READ A$(I)
> NEXT I
> DATA "***** ** **** **** *** "
> DATA "** ** * ** ** * ** * ** "
> DATA "** ** * ** ** ** ** "
> DATA "***** * ** **** ** ** "
> DATA "** ** ****** ** ** ** "
> DATA "** ** * ** * ** ** * ** "
> DATA "***** * ** **** **** *** "
> DATA " "
> FOR I=1 TO 48
> LET X=0
> FOR J=1 TO 8
> IF A$(J)(I:I)<>" " THEN LET BIT=1 ELSE LET BIT=0
> LET X=X+BIT*2^(J-1)
> NEXT J
> PRINT I;":";X
> !' PRINT I;":";BSTR$(X,16)
> NEXT I
> END
>
|
|