こんばんわ
今日も今時の皆さんが全く求めていない情報です。
今日は、先日作成したSHARP PC-E500 のシリアルインターフェースを使って、マシン語(死語?)のプログラムをロードして見ました。かなり四苦八苦したのですが、結局のところは、なんだかハードウエフロー(RTS/CTS)がうまく行っていないようで、ソフトウエアフロー(Xon/Xoff)に変更したところデータの転送がうまくいきました。
今更ながら前回作成した回路をじって見ているのですが、ジロジロ見たところで何もわからないかな。。。今まで上手く行っていたのは、お互いの処理が速くてフロー制御が発生していなかった(?)のかもしれません。そういえば、文字間、行間の待ち時間を結構設定しないと上手くいかなかったかも。。。。ハードウエアフローが無視されいたのですね。。きっと。。
今まで接続していたG850Vなどはマシン語の読み込みはマシン語モニタからできていたのですが、E500ではそのように読むことができず、プログラムで1行読み込むたびにPOKEでデータを書き込むようにしているのですが、それにかなり時間を要するらしく、1行、1行処理するたびに相当待ちが入りますので、すぐにエラーになってしまうようです。
ハードウエアフローとかソフトウエアフローとかパリティとかストップビットとか久しぶりに考えていますが、私の古臭い知識だとソフトウエアフローだと通信が少しだけ効率が悪く、エラーになる可能性が少しだけ高かったような記憶なのですが、今日一日やっていて失敗することもなかったので問題ないのかもしれません。しばらくはソフトウエアフローで頑張ります。
前回の記事も修正していますが、今回設定した、TeraTermと本体の設定を念のためもう一度示します。
TeraTerm側
端末設定
改行コード受信:Auto
改行コード送信:CR+LF
漢字受信:SJIS
漢字送信:SJIS
ロケール:japanese
シリアルポート
ポート:任意
ボーレート:9600
データ:8Bit
パリティ:None
ストップビット:1
フロー制御:Xon/Xoff
E500側
おまじないです。
POKE &BFD35,0,255,0,80
OPEN "COM:9600,N,8,1,A,L,&H1A,X,S"
CLOSE
です。
どうでもいいですが、以下にロードしている様子を示します。
さらにどうでもいいかもしれませんが、実行して見た様子を示します。
片方の手はカメラを持っているので操作できなかったです。。。
0 件のコメント:
コメントを投稿