- 題名: Pocket PC でシリアル通信
- 日時: 2005/07/15 13:18:54
- ID: 11810
- この記事の返信元:
- (なし)
- この記事への返信:
- [11812] Re[1]: Pocket PC でシリアル通信2005/07/15 13:42:45
- ツリーを表示
エミュレータのシリアルポートは、デスクトップ コンピュータ上にマッピングしてありますか? http://www.microsoft.com/japan/msdn/library/ja/jpdnnetcomp/html/compactfxdebug.asp
分類:[.NET]
はじめまして、BlueMoonといいます。
今、VS.NET2003のVB.NETでPocketPCでのシリアル通信のプログラムを作っています。
↓がその一部なのですが
Private Success As Boolean
Private Buffer(17) As Byte
Private hSerialPort As IntPtr
Private BufferLen As Int32 = 17
Private BytesRead As Int32 = 0
hSerialPort = CreateFile("COM1:", GENERIC_READ Or GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0)
をして、
MyDCB.BaudRate = 9600
MyDCB.ByteSize = 8
MyDCB.Parity = NOPARITY
MyDCB.StopBits = ONESTOPBIT
MyTimeOut.ReadIntervalTimeout = 500
MyTimeOut.ReadTotalTimeoutConstant = 0
MyTimeOut.ReadTotalTimeoutMultiplier = 500
MyTimeOut.WriteTotalTimeoutConstant = 0
MyTimeOut.WriteTotalTimeoutMultiplier = 500
Success = SetCommState(hSerialPort, MyDCB)
Success = SetCommTimeouts(hSerialPort, MyTimeOut)
をセットして、
Success = ReadFile(hSerialPort, Buffer, BufferLen, BytesRead, Nothing)
をしています。
SuccessはすべてTRUEになっています。
ですが、BytesReadは0になっていて、Bufferに何も入っていません。
なにか、設定がおかしいのでしょうか?
プログラムの実行はVS.NET2003のエミュレータで動かしています。