2012-03-03 62 views
0

我想通过RS232电缆在Atmega168之间传输数据到我的电脑进行编辑!但是Atmega太快而无法处理SerialPort.DataReceived事件。有没有提议或说明如何加快串口或使用非托管串口?SerialPort性能

而且现有的代码,不工作只是条目添加到列表(字符串)

Private Sub Me_DataReceived() Handles Me.DataReceived 
    DataLines.Add(Me.ReadLine().Trim) 
End Sub 
+0

你使用什么类型的握手? Xon/Xoff,RTS/CTS还是没有? – 2012-03-03 17:42:39

+0

无...我应该改变握手吗? – ribben 2012-03-03 17:51:43

+0

如果您使用无,发送设备将继续将数据转储到您的程序导致dataloss。如果您使用握手,则需要在两台设备上进行设置,如果您使用RTS/CTS,则还需要更换串行电缆。你唯一的选择是减慢波特率,使其不再丢失数据。 – 2012-03-03 17:55:06

回答

0

我曾经有过这个问题,并通过添加一小段C++代码,它读出的数据解决它串口连接到我的项目,然后在我的C#项目中添加对该库的引用。 C++代码运行速度提高了10倍以上。你使用什么比特率?