2011-11-07 127 views
1

我正在尝试读取和写入到使用此端口3的usb调制解调器。无法访问c中的com端口#

SerialPort sp = new SerialPort(); 
sp.PortName = "COM3"; 
//sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived); 
sp.Open(); 
sp.Write("AT<CR>"); 
byte[] bytes = new byte[sp.BytesToRead]; 
sp.Read(bytes, 0, sp.BytesToRead); 

textBox1.Text = Encoding.UTF8.GetString(bytes); 

但我得到这个错误:

访问端口 'COM3' 被拒绝。

有人有一个想法...... 感谢

+0

您可能需要运行与管理权限的程序 – Loman

+0

刚刚试了一下,并没有改变什么,感谢 – GregM

回答

3

只能打开端口一次。也许你不小心在你的代码中多次打开它,或者另一个程序正在使用它?

+0

哇,谢谢,我已经得到了超级终端运行:S 但现在我没有得到任何错误,但它没有做任何事情,通过发送AT命令我想得到一个'好'作为回报​​有一个想法。 +1顺便说一句 – GregM

+0

好的,下一步是确保你的设置是正确的。这些包括波特率,奇偶校验,数据位,停止位和握手。您是否能够使用超级终端从设备获得回复?如果是这样,请检查您在那里使用的设置。对于C#示例,请参阅http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx –

+0

感谢您的示例,我有用户WriteLine而不是写入,这解决了我的问题 – GregM