今LinuxでGPIBを使った温度計測をさせるプログラムを、Cを用い作ろうとして
いるのですが、Cを扱ったことがなくとまどっています。
デジボルへのコマンドの転送と、デジボルからデータを受けとらせるにはどうしたらいいので
しょうか?
ibrdやibwrtを用いて作るようですが、よろしければ簡単なプログラム例など
でおしえてください。よろしくおねがいします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

実際にやったことが無いので、調べて分かる範囲だけ。



> ibrdやibwrtを用いて作るようですが、よろしければ簡単なプログラム例など
> でおしえてください。

と関数が分かっているということは linux-gpib ライブラリを使う、ということ
ですよね。

であれば、examples/ ディレクトリ配下に ibtest.c などというプログラムが
ありますので、それが参考になるのではないでしょうか?


> Cを扱ったことがなくとまどっています。

C が駄目だというならば、それ以外の言語をあたるしかないですね。

linux-gpib の ftp サイトを見る限り、perl、python、Tcl/Tk なんかの
選択肢がありますね。

後、ruby って選択肢もあるようです。

http://skjs10.eei.metro-u.ac.jp/~kiwamu/gpib-rb/


# 私は、計算機屋さんなのですが、使ったことが無いので自信無し、です

参考URL:http://obelix.chemie.fu-berlin.de/,ftp://ftp.llp …
    • good
    • 0

このQ&Aに関連する人気のQ&A

Ruby 関数」に関するQ&A: 定数配列の書き方

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qプログラミング入門に最適な言語

プログラミング入門に最適な言語
最近プログラミングに興味をもって、プログラミングに挑戦しようと思ってます。

最終的にC++へ行くつもりですが、何の言語からはじめるのがいいでしょうか。
よろしくお願いします。

Aベストアンサー

議論百出だろうと思います。

「Cを身につけてからC++を学ぶべきである」
と言う人もいるでしょう。

私は、そうは思いません。
(Cをバイパスし)いきなりC++で構わないと思います。

プログラミングが全く未経験であれば、
やはりGUIで結果がグラフィカルに出た方が楽しいと思います。

有償になってしまいますが
MFCを搭載したVC++ Standerd以上をお勧めします。

また、別の方法として
多少回り道になりますが
C#という手もあります。

これなら無償のExpressでも十分にGUI制作が楽しめます。

まずは、プログラミングの楽しさ、醍醐味を味わってみてください。

入門書等についてですが
あなたが趣味でコツコツプログラミングをし、
出来たものを自分だけで使うのが目的なら
何でもいいです。

ただし、プログラムを公開する
(フリー、商用問わず)
また、ソースコード(一部でも)
(こういうサイトで質問の為に提示することを含む)
つもりがあるなら、

「きちんとした書籍」

で学ぶことをお勧めします。
「10日で・・・」
とかうたっている物の中には
「動けばいい!」
という姿勢で書かれたものが多く、
ソースコードが非常に読みにくいです。

読みやすいソースコードであれば
こういうサイトでも回答が付きやすいですが、
読みにくいソースコードは
分析に非常に時間がかかるので
回答がなかなかつきません。

また、読みやすいソースコードは
バージョンアップも簡単ですし、

一般に
(例外はありますが)
動作も早く、コンパクトです。

頑張ってください!!!

議論百出だろうと思います。

「Cを身につけてからC++を学ぶべきである」
と言う人もいるでしょう。

私は、そうは思いません。
(Cをバイパスし)いきなりC++で構わないと思います。

プログラミングが全く未経験であれば、
やはりGUIで結果がグラフィカルに出た方が楽しいと思います。

有償になってしまいますが
MFCを搭載したVC++ Standerd以上をお勧めします。

また、別の方法として
多少回り道になりますが
C#という手もあります。

これなら無償のExpressでも十分にGUI制作が楽しめま...続きを読む

QC言語にてsystem関数を用いてシェルを起動するというプログラムを作

C言語にてsystem関数を用いてシェルを起動するというプログラムを作成しています。
現在はsystem関数を実行してもシェルが実行されません。(ファイルが作成されません)
さらに、main関数が無限ループしたような挙動になってしまいます。
何か原因が分かればと思い質問いたします。

<sample.c>
#define DF_touch ( "shl/SS_touch.csh" )
#define NM ( "aa.c" ) /* ファイル名 */

int main()
{
/* シェルの戻りを取得するサンプル */
int i;
char str_cmdbuf[255];
printf("開始\n");
memset( &str_cmdbuf[0], 0x00, sizeof( str_cmdbuf ) ) ;

sprintf( &str_cmdbuf[0], "%s %s", DF_touch, NM ) ;
printf("実行コマンド=%s\n",str_cmdbuf);

i = system( &str_cmdbuf[0] );
printf("shlの戻り値=%d\n",WEXITSTATUS(i) ); /* 0になってるか*/

return ( 0 );
}

<SS_touch.csh>
#!/bin/csh
# コマンド名の定義
set COMMANDNMAE=/bin/touch
# コマンドの実施
$COMMANDNMAE $1>& /dev/null
exit 0

以上です。

C言語にてsystem関数を用いてシェルを起動するというプログラムを作成しています。
現在はsystem関数を実行してもシェルが実行されません。(ファイルが作成されません)
さらに、main関数が無限ループしたような挙動になってしまいます。
何か原因が分かればと思い質問いたします。

<sample.c>
#define DF_touch ( "shl/SS_touch.csh" )
#define NM ( "aa.c" ) /* ファイル名 */

int main()
{
/* シェルの戻りを取得するサンプル */
int i;
cha...続きを読む

Aベストアンサー

system って OS などの環境に依存するところもあるはずだからちゃんと書いてほしいんだけどなぁ....
とりあえず, 実行しようとしている
shl/SS_touch.csh
は存在しているのですか? そして, 実行できるようになっていますか?
つまり, 手でそのコマンドを実行するときにはちゃんと動くのですか?

Qコンピュータープログラミング入門の本

コンピュータープログラミングを独学で学びたいと思ってます。
どのようなことがやりたいか一概にいえませんが、当面はHPを好き勝手に作れるようになったり、ある程度プログラミングが理解できるようになりたいと思ってます。
入門の本(解りやすく飽きさせない、ある程度網羅できる)
という本はないでしょうか??
お願いします。

Aベストアンサー

還暦まじかのじっちゃまです。
服飾デザイナでプログラマではありませんので参考程度に。

さて、数年前に「人もすなるHPとやらを我も」と思い立ちました。
まず、やったことは、HTMLとCSSとに関するW3Cの勧告の日本語訳のダウンロードと印刷。
脇に揃えた参考書は2冊です。

「プログラミング言語C第2版」(カーニハン&リッチー著)
「Web標準の教科書」(益子貴寛著)

HP作成の入門書は数あれど、所詮は、W3Cの勧告をあちこち抜粋したもの。
ですから、W3C勧告の入手をお勧めします。

「プログラミング言語C第2版」は、JavaScript の習得のためです。
同著の例文をJavaScriptで書けるようになれば、ほぼ、同言語の文法的なマスターは終了。
「プログラミング言語C第2版」は、かなり古いです。
だが、その例文の再現は、プログラミングの習得にもなり一石二鳥じゃないですかね。
かなり、プログラミングに関する基本的なことが学べますよ。

「Web標準の教科書」は、「XHTMLとCSSでサイトをつくる」上では大変に参考になりました。

なお、プログラミングの独学の成否は、入門書ではなくヘルプ文のみで壁を突破できるか否か。
還暦まじかのじっちゃまは、このように思いますよ。

還暦まじかのじっちゃまです。
服飾デザイナでプログラマではありませんので参考程度に。

さて、数年前に「人もすなるHPとやらを我も」と思い立ちました。
まず、やったことは、HTMLとCSSとに関するW3Cの勧告の日本語訳のダウンロードと印刷。
脇に揃えた参考書は2冊です。

「プログラミング言語C第2版」(カーニハン&リッチー著)
「Web標準の教科書」(益子貴寛著)

HP作成の入門書は数あれど、所詮は、W3Cの勧告をあちこち抜粋したもの。
ですから、W3C勧告の入手をお勧めします。

「プログ...続きを読む

QC言語プログラムを用いた画像表示プログラム

おはようございます。

お時間ありましたら、ご教授よろしくお願いいたします。

C言語を使って、画像の表示、画像の処理ができるプログラムを作成したいのですが、私自身、JAVAを少しかじった程度の知識しかなくなかなかうまくいきません。

やっかいなことに、ただ画像を表示させるだけでなく、JPEGライブラリを用いた(JPEG画像を読み込んで処理できる)C言語プログラムのプログラムを作成したいのですがうまくいかずご質問させていただきました。

参照できるサイト、ご自信の作られたプログラム、プログラムを経験されている方の記述など教えていただければ幸いです。

明確な質問ではないのでご回答が非常に難しいと思いますが、よろしくお願いいたします。

早朝からお忙しいと思いますが、お時間がありましたら是非ご教授よろしくおねがいします。

Aベストアンサー

私のホームページにお絵かきソフトがあり、ソースを公開しています。
全体で2万行程度で、そのうち9割は汎用モジュールです。
ウィンドウ周りの処理はC++を使用していますが、
ほとんどの部分はCで書いてあります。
よろしければご参照ください。

参考URL:http://www.fiberbit.net/user/mobf5f2/program.html

Qプログラミング入門

プログラミング入門
今、私はプログラミングの勉強をしたいなーと思っています。それでホント初心者でも一からできるソフトはないでしょうか?または詳しく乗っているサイトを教えてください<m(__)m>
できればJAVAかCがいいです

Aベストアンサー

こういうのって人それぞれだと思いますが^^;

とりあえず、私は

http://wisdom.sakura.ne.jp/

このサイトで育ちました。

これから始めると言うのであれば開発環境が整っている言語が楽だと思うので

フリーならば

eclipseでjava

http://www.javadrive.jp/eclipse3/

hsp

http://hsp.tv/

フリーじゃないならば

visual studioをつかってVBやc言語

もしくは#1さんがおっしゃられているようにVBAあたりでしょうか

QVisual C++をつかったGPIBのプログラム

GPIB初心者です。プログラムもあまり詳しくありません。

Visual C++をつかって、Agilentのスキャナ(34970A)をGPIBで測定制御したいと思っています(用途:温度測定)。以下、私の環境です。

・OS: Windows XP Professional version Service Pack 2002
・開発環境: Visual C++
・GPIBハードウェア: PCMCIA-GPIB (National Instrument, NI488.2)
・測定機器: スキャナ(Agilent、34970A)

・組みたいプログラム:温度測定
中身; 「数十秒間隔で電圧を読み込む」→「電圧値を変換式に代入し、温度に変換」→「グラフ化」

電圧を読み込めるとこまでいければ後は問題ないのですが、いたっていません。どうすればGPIBの信号を読み書きできるでしょうか。できれば高いソフトなどは購入せず、済ませたいと思っています。

質問がまとまっておらず、すみません。何かヒントをいただけたら助かります。

*1;GPIBカードのドライバはインストールできたと思います

*2;AgilentのBenchlink Data logger 3というフリーソフトを使って、34970Aの電圧を数十秒間隔で読み込む、ということはできました。電圧を複雑な変換式に代入し別の値で出力する、という機能は提供されていませんでした。

GPIB初心者です。プログラムもあまり詳しくありません。

Visual C++をつかって、Agilentのスキャナ(34970A)をGPIBで測定制御したいと思っています(用途:温度測定)。以下、私の環境です。

・OS: Windows XP Professional version Service Pack 2002
・開発環境: Visual C++
・GPIBハードウェア: PCMCIA-GPIB (National Instrument, NI488.2)
・測定機器: スキャナ(Agilent、34970A)

・組みたいプログラム:温度測定
中身; 「数十秒間隔で電圧を読み込む」→「電圧値を変換式に代入し...続きを読む

Aベストアンサー

インターネット検索でサンプルになりそうなソースがありましたので添付しておきます。既にご存じの場合はご容赦願います。

34970A IVI-COMドライバ:Visual C++を使用した熱電対測定の取り込み

http://www.home.agilent.com/agilent/facet.jspx?cc=JP&lc=jpn&k=34970A+IVI-COM%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%3AVisual+C%2B%2B%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E7%86%B1%E9%9B%BB%E5%AF%BE%E6%B8%AC%E5%AE%9A%E3%81%AE%E5%8F%96%E3%82%8A%E8%BE%BC%E3%81%BF&sm=g&t=80045.k.3

Qデバイスドライバのプログラミングでおすすめの入門本

Deamon Toolのような仮想マウントソフトを作りたいと考えています。
そこで、いろいろ調べているとWindows Device Kit(WDK)を使ってプログラミングをする必要があることが分かりました。

実際、この種のプログラミング本は少ないようで、おすすめの入門者が読めそうな本があれば教えてください。
ちなみに、C/C++言語の知識はあります。

Aベストアンサー

Windows Driver Kitには、サンプルコードとドキュメントが含まれています。

通常のWindowsアプリケーションを作成できる技量がある技術者であれば、サンプルコードとドキュメントが入門書の代わりになります。

通常のWindowsアプリケーションを作成できる技量がないのであれば、たとえ入門書があっても、読んでて内容が理解できないでしょうし、サンプルコードとドキュメントを見ても意味不明でしょう。

そういう訳で「入門書が要らない」ので「入門書がない」のです。

まずは、Windows Driver Kitのインストールセットを入手し、インストールしましょう。

Qvisual c++ C言語のプログラムを作る方法

プログラミングについては学校で習っているのですが,
学校ではterapadとteratermを使っています。
しかしいざteratermを落として使い方を調べるとノーパソ一台ではどうしようもないとわかりました。
なので最初から入っていたvisual c++を使おうと思いました。

しかし学校で組んだプログラムをそのままこれで組んでも、
「error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません」
と出ました。
正直使い方もよく知らないため、??状態でよくわかりませんでした。
これはどうすればいいのでしょうか?

ちなみに上のエラーがでた行は、

main(int co, char *ma[3]){

と書いてあります。

Aベストアンサー

情報少ないですね。
でも、単純に考えると、mainの戻り値の型がわからないからコンパイラが困惑しているのでは?

例えば、以下のように、「main」の前に「int」をつけてみたら?

int main(int co, char *ma[3]){

  ※「int co, 」も不要な気が・・・・

Qプログラミング入門者、言語の選択?

プログラミングは本当に初めてですが、言語の選択について質問させて下さい。
ある事がキッカケでプログラミングなる物を初めてみようと思ったのですが、
javaであったり、C+であったり・・・と色々な言語がある様で戸惑っています。
それぞれの言語を勉強するに当たり、必要な環境等は書店で売られている入門書で十分理解出来る(内容では無く用意するソフト等の事)のですが、入門の入門にでも該当するのでしょうか?どの言語が何に向いている(又は初心者向けor上級者向け等)と言った基礎の基礎って意外と無いものです。
家計簿ソフトの様な物(用途は違う)が出来たら最高なのですが、何(言語)から勉強したら良いのでしょう?
難易度の高低より、出来れば投資額が少なく、汎用性を重視したいのですが・・・
Windows CE等のPDAなんかでも稼働するソフトなら更に良いのですが・・・。
ps:難易度の高低より・・・以降の希望が無謀な事なのかどうかも分からない位ですが、
   初めて見ようと思った気持ちを大切に恥ずかしながら質問させて頂きます。よろしくお願いします。

Aベストアンサー

Excelはどうでしょう?

Excel???なんて思われるかもしれませんが、マクロ機能の中にVBAというBasicが搭載されています。これはMicrosoftの開発言語のVBとほぼ同じことができるものです。
Excelの上で動かせるのでExcelの機能も簡単にアクセスできますし、家計簿のようなものを作るのであれば簡単にできると思います(完成度の高いものを望むのであれば難しいですが)。

投資額についてはExcelならたいていのメーカー製パソコンには最初からインストールされているのでゼロに近いですよね。

WindowsCEで動かしたいのであれば...Microsoftはホームページ上でeMbeded Visual Toolsというのを無料でダウンロードできるようにしています。これを使えばVisual C++もしくはVisual Basicで開発をすることができます。この2つの選択肢からでしたらVisual Basicをお勧めしますが...PDAはその必要性があまりないのでしたら初めは考えない方が無難だと思います。

QC#を勉強中でC#で壁紙を変更するプログラムを作ろうと考えています。

C#を勉強中でC#で壁紙を変更するプログラムを作ろうと考えています。
ネットで調べてSystemParametersInfoを使うというとこまではわかったのですが実際にどう使えばいいかわかりません。
教えてください。

Aベストアンサー

 こんばんは。

 P/InvokeでもってSystemParametersInfo()APIを呼び出さないといけません。
 詳しくは以下URLを参照してください。
 http://msdn.microsoft.com/ja-jp/library/aa288468(VS.71).aspx

 以下はFormLoadイベント内で壁紙を変えます。
 壁紙ファイルを置くディレクトリ位置に応じて、適切にパスを変えてください。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
const uint SPI_SETDESKWALLPAPER = 20;
const uint SPIF_UPDATEINIFILE = 1;
const uint SPIF_SENDWININICHANGE = 2;

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool SystemParametersInfo(uint uiAction, uint uiParam, StringBuilder pvParam, uint fWinIni);

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
//壁紙のパス
StringBuilder sb = new StringBuilder("c:\\paper.bmp");

//壁紙を変える
SystemParametersInfo(SPI_SETDESKWALLPAPER, (uint)sb.Length, sb, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
}
}
}

 こんばんは。

 P/InvokeでもってSystemParametersInfo()APIを呼び出さないといけません。
 詳しくは以下URLを参照してください。
 http://msdn.microsoft.com/ja-jp/library/aa288468(VS.71).aspx

 以下はFormLoadイベント内で壁紙を変えます。
 壁紙ファイルを置くディレクトリ位置に応じて、適切にパスを変えてください。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.T...続きを読む


人気Q&Aランキング

おすすめ情報