AD・DAコンバータのサンプルプログラム(VisualC++)の改良 – プログラミング – Home

AD・DAコンバータのサンプルプログラ...
 
通知
すべてクリア

[解決済] AD・DAコンバータのサンプルプログラム(VisualC++)の改良


寒太郎
 寒太郎
(@寒太郎)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

初めまして.
VisualC++初心者の寒太郎といいます.
環境はWindous2000です.
研究で気体の流量の測定を制御するためにAD・DAコンバータを二台購入したのですが
VisualC++で作成されたサンプルプログラムを自分の使いやすいように,また必要なとこ
ろだけに改良したいのですが,初心者なものでどうすればいいか分かりません.
説明書にはC,C++で作成する場合の宣言も書いてありました.
ドライバ関数リファレンスが書いてあるので,Cで作成した方が初心者にはいいでしょう
か?Cもそんなに詳しくはないので一応書いてみたのですが上手くいきません.

始めにやろうとしていることは,指定IDのデバイスのオープンです.
サンプルプログラムでは以下のようになっています.

//デバイスのオープン
void CVcsampleDIg::OnDevopen()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
if( Adapio_Device_Open (m_IdNum.GetCurSel ()) == 0 )
{
Button_Enable();//各機能ボタンを有効にする
}
else
{
AfxMessageBox(オープンできませんでした);//オープンに失敗した場合
}
}

となっています.
引数idは0から15です.私の実験では一つのコンバータにつき一つのIDでいいので
idが0のとき戻り値が0:成功となるようにしたいのですが,どうすればいいでしょうか?
またコンバータが二台あるので一台ずつにおいてプログラムを作った方がいいのでしょう
か?(使うパソコンは一台です)
このあとには,デバイスのクローズ,サンプリング時間,測定開始,測定,測定値の表示
などのプログラムも作らないといけません.やはりCで書き換えた方が早いでしょうか?
どうぞ御教授お願い致しま


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> 説明書にはC,C++で作成する場合の宣言も書いてありました.

ならば説明書に従えばいいのだと思いますが、それでもダメということでしょうか?

> ドライバ関数リファレンスが書いてあるので,
> Cで作成した方が初心者にはいいでしょうか?

質問の意図が掴めません。
リファレンスが書いてなければC++を選ぶということでしょうか?

> 引数idは0から15です.私の実験では一つのコンバータにつき一つのIDでいいので
> idが0のとき戻り値が0:成功となるようにしたいのですが,どうすればいいでしょうか?

'idが0のとき戻り値が0:成功となるように'すればいい、としか答えられません。

> やはりCで書き換えた方が早いでしょうか?

実行速度が、でしょうか? プログラム作成が、でしょうか?


返信引用
寒太郎
 寒太郎
(@寒太郎)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

返答有り難うございます.
サンプルプログラムがVisualC++で作成されているので,それに改良の手を
加えた方がプログラムの作成が早く出来ると思ったのですが,
VisualC++の初心者なためどう手を加えていいか分からなかったので
ここで伺おうと思いました.
Cは少し経験があるので作ってみたのですが上手くいきません.
宜しければ何処がおかしいか教えて頂ければ幸いです.

/*デバイスのオープン*/
#include <stdio.h>

short_stdcall Adapio_Device_Open(short id); /*宣言*/

int main (void)
{
short id;
printf(指定IDを入力してください:);
scanf (%d,&id);
if( Adapio_Device_Open ( id = 0 ) == 0 )
{
printf(各機能ボタンを有効にします\n);
}
else
{
printf(オープンできませんでした\n);
}
}

です.どうぞ宜しくお願い致します.


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

'上手くいきません' を説明してください。
なにがどのように上手くいかないのですか?


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

横槍ですが、
ハード側にIDw設定する方法があると思うのですが、
それは把握しているでしょうか?
ハードウエアのIDは、0で設定してありますか?
ハードウエアのデフォルトID(工場設定値)は0なんでしょうか?
ハードウエアとPCの接続は大丈夫なんでしょうか?

あと、思うにIDはハードを識別する手段だと思うので
基本的にハードウエアにつき一つで、少なくとも一台のPCの中では
ユニークでないと駄目だと思います。
コンバータの接続方法とか細かいところが全くわかりませんけれど。

接続が正しいとか、PCがきちんと認識しているかとか、
プログラム以外の要因があると思います。
その部分が間違いないという確認はきちんと出来ていますか?


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

パンチミスしてました。

ハード側にIDw設定する方法があると思うのですが、

          ↓

ハード側にIDを設定する方法があると思うのですが、


返信引用
寒太郎
 寒太郎
(@寒太郎)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

上手くいかないというのは,入力してもこのプログラムを
受け入れてもらえないということです.
なにか構成上誤りがあるのでしょうか.


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> 上手くいかないというのは,入力してもこのプログラムを
> 受け入れてもらえないということです.

'受け入れてもらう'とは如何なる意味ですか?
コンパイルエラー? リンクエラー? 実行時エラー?

# '自分語'は控え、誰もが理解できる表現を。


返信引用
寒太郎
 寒太郎
(@寒太郎)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

返答有り難うございます.
私の方がまだ理解しきれていない為,質問に答えられるだけの知識を
持ち合わせてないようです.
大変ご迷惑をお掛け致しました.
もう一度しっかり勉強し直してきます.
お手間をとらせすみませんでした.
出直してきます.
有り難うございました.


返信引用
寒太郎
 寒太郎
(@寒太郎)
ゲスト
結合: 22年前
投稿: 5
Topic starter  

有り難うございました.


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました