kahaのプロフィール
- ベストアンサー数
- 41
- ベストアンサー率
- 23%
- お礼率
- 0%
- 登録日2003/09/24
- H8マイコン C言語でのプログラミング *((volatile unsigned char *)ってなんですか??
現在、ある参考書に載っている、マイコンを用いてマザーボード上のLEDを点滅させるCのプログラムを勉強のために見ています。 その中に、 #define P5DDR (*(volatile unsigned char *)0xfffc8) という一行があるんですが、この中の*(volatile unsigned char *)という表現を見たことがなくて困っております。これは簡単に言うと、 #define P5DDR *0xfffc8 と、『P5DDRを0xfffc8のポインタで置き換える』と言い換えていいのでしょうか??
- ベストアンサー
- C・C++・C#
- kotakota1010
- 回答数2
- %dについて
sprintf(XXX,%d,1234567890123) の様な記述をして XXXはINSERT用のSQL文でSUUというフィールドの値として設定します。 SUUはNUMBER型で13桁確保してあります。 INSERT処理後SUUの中を見てみると全然関係ない値が入っています。 他のフィールドと間違えていることはありません。 %ld等でも試したがダメでした。 色々な数字で試してみたのですが10桁まではエラーが出ないことがわかりました。11桁目からエラーが出ます。 この原因がわかる方はいらっしゃいますでしょうか?
- ベストアンサー
- C・C++・C#
- unchiku777
- 回答数5
- 標準ライブラリ関数と標準入力を使ったプログラミング
C言語で「入力された数字をASCIIコードとして文字で出力する」というプログラムを作っています。 isdigitを使って入力が数字だったら値を出力して、それ以外のときはエラーメッセージが出力されるようにしたいのですが上手く動作しません。 以下が作ったプログラムなのですが。 #include<stdio.h> #include<ctype.h> int main(void) { int=a; scanf("%d",&a); if(isdigit(a))printf("%c",a); else printf("エラーです"); return 0; } isdigitの使い方がいまいちよく分かってないのともしかしたら根本的に何か大きく違ってるのかもしれないのですが何か助言等あれば頂きたいので宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- ueda_no_tatchan
- 回答数3
- 使用中勝手に再起動する
素人なので、このカテゴリーでの質問に適しているかわかりませんが、お願いいたします。 【状況】 ・OS:Windows XP プロフェッショナル ・インターネット及びLANに接続していないPC(スタンドアロンと言うのでしょうか) ・ある装置の制御/監視の為に、専用に開発されたソフトを使用 ・24時間・長期間(3~4ヶ月程度)シャットダウン及び再起動を行わず上記ソフトを使用 ・何かの入力中や操作中等ではなく、監視中に突然「再起動」(Win XPの起動画面が表示され、ユーザー認証画面(パスワード入力画面)が表示される)したり、「自動終了(?)」(ソフトが勝手に終了し、ディスクトップになる)したりする 以上の様な状況です。情報が少なすぎて回答に困るとは思いますが、何か『原因』と『対策』をご存知の方がおられましたら、お願い致します。 そう言えば、Windows XPは、インターネット環境で使用する事を前提に開発されたと聞いた事が有りますが、スタンドアロンで使用し続けると何か弊害が発生するものでしょうか?
- 締切済み
- Windows系OS
- roboubito
- 回答数1
- COMポートの同時オープン同時読み込み
お世話になります。RS232機器で同じ仕様の計測機器を つなげて、同時に測定をしたいと考えています。 WindowsXPでVC++で作成します。 CreateFile,ReadFileで実現するかと思うのですが、 プログラミング上、まったく同一時刻に二つのCOMを 開くことは現実不可能でしょうか? 正確にいうと、同一時刻に一定量蓄積された2つのCOMバッファ から同時にPCのメモリに展開するという処理です。 計測機器同士は、シンクロケーブルがありますので ハードウェア的にタイミングを合わせて、データ出力してきます。 ということは、パソコン側では理論的にCOM1、COM2に接続された 機器からは、データが一定量蓄積される時間はともに一定時間 であるといえます。 逆にいうと、COM1、COM2からデータを同時にぬきとって やらなければ、のちのちCOM1のバッファとCOM2のバッファ でずれが生じてくるはずです。 たとえばDSPなんかですと、パイプ命令てのがあり CreateFile("COM1"...) | CreateFile("COM2"...) とすることで、2つの命令を同じ時刻にスタート可能だと 思います。(DSPにCreateFileのような命令はないですが) また、スレッドを使うという考えもありましたが、自分自身、 スレッドに対する知識がとぼしくて・・・ こうした処理をする際、ソフトウェアでの処理というのは 事実上不可能に見えてきますが、実際はなにか回避策というか 解決策があるのでしょうか? よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- scheimpflug
- 回答数2