积极答复者
VB2008中SerialPort 发送数据的问题

问题
答案
-
因为你发的时候总是以字符形式,所以SerialPort在内部转成ASCII。请参考Write(Byte[], Int32, Int32) 你可以把你要发送的数字编码成Byte() 字节数组,然后通过这个方法写入到串口。
Encoding 只是给你用来显示的时候转换编码的,但数据在内存中永远是一种形式,二进制,所以你所要关心的是你要发的是字符还是数字,字符的话String参数的Write方法就可以,数字的话,建议用Byte()的那个Write方法。
Sincerely,
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Jie BaoModerator 2011年1月24日 3:34
-
楼主要学习一下wirte方法的几种重载形式,以下是我以前写的代码,你可以看一下:
http://topic.csdn.net/u/20081226/19/69ac6c9a-b131-45cb-a105-5ee8506e37f7.html
- 已建议为答案 丛纹弨 2011年1月23日 4:31
- 已标记为答案 Jie BaoModerator 2011年1月24日 3:34
全部回复
-
因为你发的时候总是以字符形式,所以SerialPort在内部转成ASCII。请参考Write(Byte[], Int32, Int32) 你可以把你要发送的数字编码成Byte() 字节数组,然后通过这个方法写入到串口。
Encoding 只是给你用来显示的时候转换编码的,但数据在内存中永远是一种形式,二进制,所以你所要关心的是你要发的是字符还是数字,字符的话String参数的Write方法就可以,数字的话,建议用Byte()的那个Write方法。
Sincerely,
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Jie BaoModerator 2011年1月24日 3:34
-
楼主要学习一下wirte方法的几种重载形式,以下是我以前写的代码,你可以看一下:
http://topic.csdn.net/u/20081226/19/69ac6c9a-b131-45cb-a105-5ee8506e37f7.html
- 已建议为答案 丛纹弨 2011年1月23日 4:31
- 已标记为答案 Jie BaoModerator 2011年1月24日 3:34