
PICからPCにデータ(電圧:最大値5)を受信させようとしています。
受信には C++を用いたプログラムを自作したいのですが、
どうしてもうまくいかなかったため投稿させていただきました。
症状としては、まずポートを開く事すら出来ていません。
RS232c {USBで変換) が接続されているポートはCOM1です。
ポートが開くか確かめるプログラムとしては、次のようなソースを使いました。
#include<windows.h>
#include<iostream>
using namespace std;
int main(void){
HANDLE hCom;
hCom = CreateFile(
(LPCWSTR)"COM1",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
if (hCom == INVALID_HANDLE_VALUE) {
cout<<"シリアルポートを開くことが出来ませんでした。\n"<<endl;
return false;
}
CloseHandle( hCom );
return 0;
}
これを実行すると「シリアルポートを開くことが出来ませんでした。」としかなりません。
( (LPCWSTR)"COM1"となっているのは、「'CreateFileW' : 1 番目の引数を 'const char [5]' から 'LPCWSTR' に変換できません。」
と出てしまったためです。)
ハイパーターミナルを用いてCOM1からデータを受信できていることは確認しましたので、
通信が出来ていないわけではないようなのです。
ありふれた質問である事は重々承知の上ですが、
このソースでシリアルポートが開けない理由を教えていただければ幸いです。
環境:Visual C++ 2008 Express Edition
Microsoft Windows XP Version 2002 Service Pack 3
No.3
- 回答日時:
VC2008は標準でUnicode版のライブラリが使われます
先の回答者のように TCHAR.Hなどをインクリュードして _TまたはTEXTマクロなどで文字列くくるといった方法と
VC2008のメニューから プロジェクト > プロパティ
左ペインで 構成のプロパティ > 全般を選択す
右ペインの文字セットを『マルチバイト文字セットを使用する』に変更して
プロジェクト > リビルド
などを実行しましょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
3のつく数字と3の倍数のみを表...
-
c++でmatからvectorへの変換の...
-
シリアル通信について。
-
複数のテキストの文字コード変更
-
C++からCへのソース変換について
-
shurikenについて
-
基数変換のプログラム教えてく...
-
線対称の角度を求める
-
予測変換機能について
-
ヒストグラム
-
bmp→jpgに、jpg→bmpに
-
画像ファイル変換(Tiff→PDF)
-
LINUXで全角VWZを出す(かなり初...
-
エクセルVBAでPDF化できますか??
-
【EXCEL】カナ、ひらがなを英字...
-
VB.NETからJavaに変換するツー...
-
vb.netの型変換について
-
入力ボックスが繰り返しポップ...
-
CIDコードからUNICODEへの変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
緯度、経度の 10進法と 60進法...
-
Mac 乗数の入力方法
-
C/C++→JAVAに変換するツール
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
10進数をBCDに変換する方法
-
画像ファイル変換(Tiff→PDF)
-
エクセルのvbaで検索ボタンを作る
-
分を時間に変換するプログラム
-
StrConvの使い方について教えて...
-
三角形を逆三角形にしたいです...
-
逆コンパイルと逆アセンブルの...
-
VB.NETをJavaに変換するツール...
-
UTF8→ShiftJISに変換したいです!
-
FortranをC++(VC++)へ変換
-
3のつく数字と3の倍数のみを表...
-
c++でmatからvectorへの変換の...
-
C#でのpngからbmpへの変換について
おすすめ情報