LSI-C プログラムに挑戦
■ このスレッドは過去ログ倉庫に格納されています
0001あせんぶら
NGNG皆様で、私を育てて下さい。
付属のマニュアルを見たのですが、どうにも理解できません。
最終的には、パラレルポート(DOS/Vのプリンターポート) より
データの取得をしたいのですが。。。。
今は、C言語も始めていないのにアセンブラまで計画しています。
(なんと、無謀なことでしょう。)
こういう仕事を押し付けられるって、いじめられているのかナ?
プログラムが完成するまでアドバイスをよろしくお願いします。
0002デフォルトの名無しさん
NGNGでは、コンサルタント費用はいかほどを想定されてますか?
0003デフォルトの名無しさん
NGNG0004ななしさん
NGNGオフからオンへ信号が反転したときに
データーを読んで、ストローブがオフに戻るまで
ウエイトを掛ける。
ってことで割り込みのコントロールとミリ秒単位の
制御が必要なんでDOS時代のコンパイラ+Windows上では無理、
あるいは取りこぼし覚悟で処理すること。
Windows2000でこんな商品は絶対出すなよ。
使い物にならないから。
0005あせんぶら
NGNGさて、ここでこれまでの経緯を紹介しますとホームページをたくさん
見た中で必要と思えるものを印刷していきました。そこで得たものは、
私の使っているVisualBasic(Win版)ではパラレルポートは操作できない
ようです。そのためのパラレルのドライバーDLLがフリーソフト(ソース付)で
あったのでダウンロードしてみたのですが、まだ試す段階まで来ていません。
理由1は私が理解できていないものをむやみに使いパソコンをダウンさせたく
ないからです。
理由2は、設備のパラレルのピン配列が標準ではないので、ケーブルから
作らなくてはなりません。(配列は分かっているのですが。)
そこでDOS環境でプログラムをすることにしました。
パソコンは不要になったものをいただきました。Windowsには使えませんが
DOSには十分です。
問題はプログラム言語です、パラレルポートを直接触るにはアセンブラが
必要だし。。。
そのときに出会ったのが ”LSI-C”です。DOS版のインラインアセンブラ
ということで、全てが解決なのですが記述方法を今インターネットで模索中
です。別の言語でのサンプルプログラムでデータ取得のタイミング記述やエラー
回避のためのデータ照合方法があるのですが、いろんな種類のアセンブラで
かいてあり、先に進めない状況です。
今まで書いてきたきた事でお分かりのようにすべて金銭的に余裕はないのです。
どうかご理解のほど宜しくお願いします。
0006デフォルトの名無しさん
NGNGTurboC2.0/C++1.01/Pascal5.5なんてのもタダであるけど?(ただし英語IBM版)
こっちの方がコンパイル速度も速いし、ラージモデルとかも作れるので有利かと。
まあ、LSI-C試食版にもfarポインタはあるから、巨大なプログラム以外ならそれで十分だけど。
0007おじさん
NGNGまず、ポートのアドレスはわかっていますか?
どのピンがどのI/Oポートアドレスのどのビットに相当するかって事です
つぎに、信号の規格は判っていますか? 単に ON/OFFで取り込むのですか?
0008デフォルトの名無しさん
NGNG同様のことが言えるのでは?
理由2の「設備のパラレルのピン配列が標準ではない〜」について
も言語の差異は関係ない筈。何の言語でプログラムを書こうともケー
ブルの製作は必要なのでは?
また、パラレルポートを直接制御するのにアセンブラは絶対必要と
いうことはないし、LSI-C も試食版ならライセンス的に業務用途に
は使用できないので注意したほうがいい。
0009デフォルトの名無しさん
NGNGCのソース探して自分用のCをコンパイルしろ
0010あせんぶら
NGNGまづ、”LSI-C”の使用条件についてですが、金銭的な目的に使用する場合には
製品版の購入をと、ありますが。
プログラムとしての使用目的は、現在使用している設備のデータ記録方式が
旧式の電算用8単位の紙テープに穴があいて記録していく方式なのです。
修理の対応年数も過ぎており故障すれば、部品もなくそれまでです。
その設備にパラレルポートが一つあります。もしこれからデータをパソコンに
取り込めれば、設備の寿命が延びます。
販売目的にプログラムを作るのではなく、データの記録用としてパソコンを
使いたいのですが、これも利益目的の使用とみなされるのでしょうか?
予断ですが、どちらのご同業の社でも今はコンピューター連動の機材なので
プログラムの必要なところは、ないでしょうけど。
もし問題あるのなら、ご助言にあるように TurboC2.0/C++1.01 による
C言語でのプログラムの方法をとりたいと思います。
次にプログラムの方に話を進めると私自身は VisualBasic 6.0(Laerning
Edishion)を使うくらいです。記述方法を覚えることよりもサンプルプログラム
を参考にプログラムする方法をとっています。
これから取り組もうとしているプログラムのキッカケは、データのダンプリスト
を1週間ほど眺めていたときに3バイトづつ変化しているのに気づき、それを
24ビット並べたときに、紙テープに記録していくときの穴のあき方の(1).
(0).表しているものだと思いました。
そこでファイル名からデータ内容を知るより直接画面で見ることができたら
いいナと思いプログラムを始め、バイナリーファイルを面表示できるようになり
ました。(今、思えば簡単なパターンでした。)
次に数値のテキストデータからバイナリー変換した後に指定のバイト位置に
データを順次書き込むというプログラムを作りました。私の知識の中では
Windowsの標準装備のソフトでダンプリストを見るものを知らないので
プログラムが実際に書き込みをしてくれたか分からないのでダンプリスト
表示プログラムも合わせて作りました。
この上記の内容は、私のプログラム実力が
分かれば、皆様の対応もどのレベルからアドバイスを
しなければならないか、という意味で書きました。
その展開からいくと次は設備のパラレルポートからのデータ取り込みです。
このときほど、RS232−Cの送受信にしてくれていたらと、思ったことは
ありません。
最後になりましたが、36pinの(4,5,6,7,8、23、24、
26番ピン)がデータピン。25番ピンがストローブと書いてあります。
(設備の説明書より)
ほかに電源用とした6本のピンに24ボルトの電流が流れています。
プログラムとしては8ビットづつが3回、合計24ビットでひとつのデータに
なるので、ビットごとの ON、OFFが分かれば計算により数値を知り得ます。
私はBASICしか使えないのでパラレルに8ビットの新しい信号が、入って
きたらBasicの変数に1バイトとして渡してくれるような関数ができれば
うれしいです。
少し長くなった割には、内容が伝わっているか心配です。
■ このスレッドは過去ログ倉庫に格納されています