送信OKまで進歩したので問題点をまとめてみる

Last Updated on 2012年5月23日 by kabekin

ACIAへのレジスタアクセスOK
COMポートへ送信してみると、TxDラインには何かデータが送信されている。
この状態からみると、ACIAとPCはきちんと動作しているように見えます。
そうなるとACIAの初期化がうまくいっていない思われるので無理やりPOKEでACIAを設定してみると送信OK!!
 
&H03でとりあえずACIAのオールリセット
コントロールレジスタに&H90(受信割込み可/FastBaud/データ長8bit/ストップビット2bit/内部分周比1:1)をセット
これで設定したパラメータで送信OKになりました。
ハイパーターミナルを相手に通信確認。ghs4gj room
しかし、相変わらず受信は全くNG
受信しない原因はACIAから割込みが発生していない。
これも初期化の問題だろうか!?
でも、コントロールレジスタの7bit目は1にして受信割込み有効にしてるんだけど・・・・・・
いろいろ問題点がでてきたので、この辺で一度整理してみます。 ^^;;;;
1) 問題点はOPEN時の初期化でボーレートがセットされていない。
2) 受信時割込みが発生しない
これは、重たい残件が残りました。
1)については来夢来人内部のソフト絡みなので、外側でなんとかしないと解決は難しい。
しかし、だましダマシ送信できているということは何か方法があるはず。
本家S1ではYGP002がビットジェネレータになっているようで、データレコーダ用のボーレート(FFD7)の設定と絡んでいる可能性もあるのかも。
来夢来人にはYGP002は実装されていないので頼れない。
しかし、S1の取説を見るとRS232Cのボーレートはディップスイッチ(SW1)の組み合わせで決定されてOPEN時の分周比以外は影響受けないようにも見える。
2)については受信してもACIA自体からIRQ#が発生しないということはACIAの問題に間違いなさそう。
初期化絡みのソフトが怪しいのか、ACIAハードの使い方を間違っているのかちょっと検討
どちらも悩ましい問題だなぁ~ ^^;;;;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください