通过USB在Vex Cortex和.net之间发送/接收数据

时间:2014-09-01 23:31:53

标签: c vb.net serial-port usb

我在vb.net中进行编码(我将接受c#中的答案,因为我可以采用这种方式),我需要向Vex Cortex发送数据并从中接收数据。它上面有一个USB端口,我将连接到计算机,通过程序发送数据。

我研究了这个,而.net方面似乎相当简单。这是我目前的代码:

    Dim sensor As New SerialPort("COM1")

    sensor.BaudRate = 9600
    sensor.Parity = Parity.None
    sensor.StopBits = StopBits.One
    sensor.DataBits = 8

    sensor.ReadTimeout = 300
    sensor.WriteTimeout = 300

    sensor.Handshake = Handshake.None
    sensor.Open()

我环顾四周,发现了从程序中发送数据的一些步骤,如下所示:

    Dim byteOut(5) As Byte
    Dim byteIn(6) As Byte
    Dim Voltage, i As Integer
    Try
        byteOut(0) = &H2  '2 bytes in output message
        byteOut(1) = &H0  'should be 0 for NXT
        byteOut(2) = &H0  '&H0 = reply expected &H80 = no reply expected
        byteOut(3) = &HB  '$HB = read battery command
        sensor.Write(byteOut, 0, 4) '0 = offset into byteOut and 4 = number of bytes
        'now read the reply
        byteIn(0) = sensor.ReadByte ' number of bytes in message
        byteIn(1) = sensor.ReadByte ' should be 0 for NXT
        For i = 2 To 1 + byteIn(0) ' read rest of message
            byteIn(i) = sensor.ReadByte()
        Next
        Voltage = byteIn(5) + byteIn(6) * 256 ' the voltage has low byte in 5 and high in 6
        Console.Write(Voltage) 'display voltage
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try

上述示例用于返回此问题的无关设备的电池数据。基本上我需要能够读取我发送的数据,并将数据发送回Vex Cortex上的计算机。

Cortex在c和I中编码,使用RobotC编译并将代码下载到Cortex。我无法弄清楚如何在我的生命中读取数据(示例代码说要做Serial.begin(9600);但这会在RobotC中引发编译错误。)

有人可以帮助我如何在此传输的Cortex端读取(和写回)数据吗?我可能需要放弃RobotC,如果没有它提出解决方案,我可以完全没问题,只要它仍然是c代码。

0 个答案:

没有答案