こんにちは、ゲストさん
ログイン
Yahoo! JAPAN
すべての機能をご利用いただくためには、JavaScriptの設定を有効にしてください。設定方法は、ヘルプをご覧ください。
[ リスト ]
中西御大 非常に特徴のあるBASICになってきて、ワクワクしています。この言語仕様の中で割り込みを自然に処理しようというチャレンジに期待しています。 ON INTERRUPT(割り込み要因) GOTO(or GOSUB) 行番号 みたいな言語仕様の拡張は可能でしょうか。リアルタイム性を保証しにくいインタプリタ系言語では難しいですか?
2010/3/27(土) 午後 7:48 [ かの ]
コメントありがとう。 MZBASICは、ハード面で3レベルの多重割り込み処理をしています。 最優先はWAVE再生データ要求(11.025KHz毎)、第二優先は、時間・タイマー関係(2KHz毎)、第三は、WAVEデータブロック(512bytes)をSDからの読み出し要求(約50msec毎)になっています。 従って、最も厳しい状況は、ファイル処理でSDにデータを書き込んでいる時に、上記3要求が重なった場合に起こります。 これ以外に、ターミナルからの入力処理は、RS232Cハード割り込みで、バッファーに溜め込み、CR,LF受信した時、受信文を実行しているインストラクションの間に、BASICソフト割り込みとして、構文解釈処理をしています。 従って for next, goto で無限ループに入っても、ターミナルのESCキーでbreakを送信すると、無限ループから脱出します。
2010/3/27(土) 午後 9:32 [ nag*sa_*ei ]
500文字制限の為 後続します 外部要因割り込みは、I2Cからの割り込みでやりたいと思っています。I2C intrrupt信号線(?)を準備し、I2Cスレイブからの読み出し要求を実行する。今のRS232Cの割り込みと同様に・・・ BASIC処理ソフトは、プログラムのインストラクション間に緊急・別のインストラクションを挟み込み実行させるのが可能な構造です。 今もソフト割り込みで使っています。gosubインストラクションは、メモリの許す限り多重コールが可能ですし・・・。
2010/3/27(土) 午後 9:34 [ nag*sa_*ei ]
中西御大 原稿の処理内容、外部要因割り込みの可能性について、よくわかりました。楽しみがまたひとつ増えました。
2010/3/28(日) 午後 8:48 [ かの ]
すみません。「現行の」の間違いです。^_^;
すべて表示
小川菜摘
シルク
フィッシュ&チップス金本
中西御大
非常に特徴のあるBASICになってきて、ワクワクしています。この言語仕様の中で割り込みを自然に処理しようというチャレンジに期待しています。
ON INTERRUPT(割り込み要因) GOTO(or GOSUB) 行番号
みたいな言語仕様の拡張は可能でしょうか。リアルタイム性を保証しにくいインタプリタ系言語では難しいですか?
2010/3/27(土) 午後 7:48 [ かの ]
コメントありがとう。
MZBASICは、ハード面で3レベルの多重割り込み処理をしています。
最優先はWAVE再生データ要求(11.025KHz毎)、第二優先は、時間・タイマー関係(2KHz毎)、第三は、WAVEデータブロック(512bytes)をSDからの読み出し要求(約50msec毎)になっています。
従って、最も厳しい状況は、ファイル処理でSDにデータを書き込んでいる時に、上記3要求が重なった場合に起こります。
これ以外に、ターミナルからの入力処理は、RS232Cハード割り込みで、バッファーに溜め込み、CR,LF受信した時、受信文を実行しているインストラクションの間に、BASICソフト割り込みとして、構文解釈処理をしています。
従って for next, goto で無限ループに入っても、ターミナルのESCキーでbreakを送信すると、無限ループから脱出します。
2010/3/27(土) 午後 9:32 [ nag*sa_*ei ]
500文字制限の為 後続します
外部要因割り込みは、I2Cからの割り込みでやりたいと思っています。I2C intrrupt信号線(?)を準備し、I2Cスレイブからの読み出し要求を実行する。今のRS232Cの割り込みと同様に・・・
BASIC処理ソフトは、プログラムのインストラクション間に緊急・別のインストラクションを挟み込み実行させるのが可能な構造です。
今もソフト割り込みで使っています。gosubインストラクションは、メモリの許す限り多重コールが可能ですし・・・。
2010/3/27(土) 午後 9:34 [ nag*sa_*ei ]
中西御大
原稿の処理内容、外部要因割り込みの可能性について、よくわかりました。楽しみがまたひとつ増えました。
2010/3/28(日) 午後 8:48 [ かの ]
すみません。「現行の」の間違いです。^_^;
2010/3/28(日) 午後 8:48 [ かの ]