• 締切済み

プリンタ直接印刷

パソコンではないのですが、似たような機械でプリンタを直接制御して印刷しようとしています。ESC/Pの制御コードをもつレーザプリンタで正常に印字できますが、スピードの遅いドットプリンタなどでは文字化けしてしまいます。 直接の原因は印刷処理が間に合わずデータが上書きされてしまうためだということはわかるのですが、それがなぜ起こるのかわかりません。データ送出の際にはBUSY信号を確認し、それがOFFになってからデータを送っています。内部をデバッガで確認したところ確かにBUSY信号のON/OFFが確認できましたので、読み間違ってはいないようです。STROBE信号も充分に気をつけて所定の時間以上になるように気をつけているつもりです。 ひとつ不思議なのは、同じロジックにもかかわらず、グラフィック印刷する時は、データをゆっくり送らなければうまくいかないことです。現象からするとBUSYが解除されたからといってすぐにデータを送ってはいけない様に思えるのですが、そんな注意書きはプリンタマニュアルのどこにもありません。 もしかしたら常識なのかもしれませんが、何か他に直接制御する上で気をつけなければならないことがあるのでしょうか。なお複数のプリンタで同じ現象がおきますので、特定のプリンタ固有の問題では無いと思われます。

みんなの回答

  • Spur
  • ベストアンサー率25% (453/1783)
回答No.1

>もしかしたら常識なのかもしれませんが はい、確かにマニュアルのは書かなくても常識です。 これだけの情報からはなんとも言えません。 ひとつだけアドバイスすれば、 BUSYとBUSYの間に送っているデータ量は、プリンタのバッファ容量を越えないようにしていますか?

dabo
質問者

お礼

直接の原因はBUSY信号読み取り回路の問題の様です。1回では正しく読み取れないことがあるみたいで複数回読み取ることで正しい信号状態を検知できるようになりました。お手数おかけしました。

関連するQ&A