首页 > 解决方案 > .NET 如何通过 Windows 虚拟 COM 端口连续发送和接收 600k 字节块?

问题描述

我目前的方法在从我的 .NET 传输应用程序流式传输到我的 .NET 接收应用程序时存在问题,两者都在同一台计算机上运行。

这是我的方法...

我的第一个 .NET 应用程序用于传输,发送 600KB:

MyVirtualTxCOMport.Write( buf, 0 600000 )

但是我的第二个应用程序每次调用 .Read 都会读取不超过 10 个字节的一小块。

dim packet_buffer( 600000  ) as Byte
buffer_index = 0
total_bytes_read = 0
Do
    bytes_to_read = 600000   -   total_bytes_read
    buffer_index =   total_bytes_read
    bytes_read =  MyVirtualRxCOMport.Read( packet_buffer, buffer_index, bytes_to_read )
    total_bytes_read  +=  bytes_read
    if total_bytes_read  <   600000 
        Continue do
    ELSE
        Exit do
    End If
Loop

设置摘要:

On my Windows 10 computer:  
1st app ==> 9600 baud COM3 virtual port 
    ==> USB/serial adapter 
    ==> serial cable 
    ==> 2nd USB/serial adapter 
    ==> COM4 
    ==> 2nd app

这两个应用程序都在我的桌面 Windows 10 64 位计算机上运行。第一个应用程序通过USB/串口适配器将虚拟COM端口COM3,通过串行电缆连接到相同型号的串口/USB适配器,到它的虚拟COM端口COM4,到第二个.NET应用程序。(串行/USB 适配器是 Amazon Choice Sabrent 1Mbps)

(这是为了测试从嵌入式处理器通过其 UART 到外部串行/USB 适配器(使用 FTDI 的 FT232RL IC 的 sparkFun 适配器)到 Windows 10 .NET GUI 的最终实时流。)

标签: c#.netwindowsvb.netserial-port

解决方案


推荐阅读