RS232CのポートのRTSを活用してリモコン信号を割込み出力したいのですがDelphi2005で可能でしょうか?
それだけの情報ではレスのつけようがありませんね・・・
>RS232CのポートのRTSを活用してリモコン信号を割込み出力したい
リモコンはどのようなハードなのでしょうか?
RTSでパルス出力したいということでしょうか?
RS232CでもUSBシリアルだとRTSでは正確なパルス出力は望めません
>Delphi2005で可能でしょうか?
他の言語、たとえばVC等では出来ているのですか?
他でも出来ているのならDelphi2005でも可能ですが
remさんご指摘ありがとうございます。現在、Z80ファミリーの基板でRTSを使って740uSのタイマー割込みによるリモコン信号(パルス)をアセンブラー言語で作成・出力しています。PCに拡張RS232Cボードを付加して同じ機能をD2005で実現できれば応用範囲が広がるのではと期するものがあるものですから。アドバイスよろしくお願いします。
>RTSを使って740uSのタイマー割込みによるリモコン信号(パルス)をアセンブラー言語で作成・出力しています
Windowsで740uSのハードウェア割り込みはアプリケーションレベルでは無理ですね。
ドライバを作成すれば可能だと思いますが難易度はかなり高いです。
リモコン信号の規格が不明なのでこうすれば動作するとは言えませんが・・・
リモコン信号のパルス列の誤差がある程度許される(赤外線リモコン等のように)様な仕様ならば、一時的にスレッドの優先度を高くして実行すればアプリレベルでも実現可能かもしれません。(割り込みは使用しません)
赤外線リモコン等の信号の場合にはRTSではなくてTxDを利用している例があります(通信としてTxDを使用するのではなくてパルス列として利用します)
TxDの場合はRS232Cの拡張ボードでなくてもUSBシリアル変換でも動作可能です。
>PCに拡張RS232Cボードを付加して・・・
産業用の「拡張RS232Cボード」を発売しているところでは「割り込みドライバ」等をサポートしたライブラリが用意されていることもありますが
「拡張RS232Cボード」を追加するくらいなら外部に専用のマイコンボード(PICやAVR等)を接続してRS232CやUSBでコマンドで動作させる方が確実で簡単ではないでしょうか。
Delphiと関係がない部分が多くなりますのでこの辺で・・・
早速のアドバイスありがとうございました。
やはり専用のマイコンボードですか。
アルファプロジェクト製STK-7125EVB-KITを購入しスタディしているところですが、もしかしてD2005のアプリに機能追加で出来ればと思ったものですから。
出来ないということではないですよ、それなりのスキルが必要ということです。
>STK-7125EVB-KITを・・・
もっと廉価なCPUで十分ですね。(SH7125は秋月でも取扱開始されてますからそう高くはないですが)
時間が許すなら、DelphiでWin32APIを使用してTxDを操るようなソフトを組んでも良いでしょう。
ノートパソコンのことを考えると追加ボードよりもUSBの利用を考えた方が良いと思います。
まあ、利用される用途に応じてどのような構成がベストか変わると思いますが。
どちらにせよ、Windowsドライバ以外ならDelphiで問題なくソフトを組むことが出来ます。
>DelphiでWin32APIを使用してTxDを操るようなソフトを・・・
調べもしないですみません...なんと言うAPIですか?教えてください。
>なんと言うAPIですか?教えてください。
RS232C制御で使用する普通のAPIでいいですよ。
CreateFileでOpenしてSetCommStateでボーレート等を設定してWriteFileで書き込むだけです。
Delphi用のコンポーネントを利用した方が手軽かもしれません。
ただ、細かい説明をする前にリモコン信号の仕様を教えてもらわないと・・・
一般的な赤外線のリモコンのことですか?
仮に赤外線リモコンだとするとWinLIRCが参考になります。
http://winlirc.sourceforge.net/
送信機の例
http://www.lirc.org/transmitters.html
USBではないRS232CならDTR/RTS等で制御可能です。
これ以上はDelphiとは関係ないので終わりにします。
WinLIRC等で検索して調べてみてください
remさん情報ありがとうございました。
>Win32APIを使用してTxDを操るようなソフト....
Mr.Xray=>Halbow資料館にマイクロ秒のStopWatchのサンプルがあり使用したWin32APIの記事がありましたのでよく読んでみます。アドバイスに感謝感謝です。
ツイート | ![]() |