GUI与微控制器连接

时间:2016-03-30 12:06:04

标签: c# visual-studio embedded microcontroller

我有一个Infenion XMC relax kit微控制器,我有一个在visual studio(c#)上制作的GUI,我想将GUI与微控制器连接起来。我不知道如何继续这个。该控制器只有microusb输入,因此没有串口连接。

任何帮助将不胜感激,也欢迎任何教程建议。

3 个答案:

答案 0 :(得分:2)

documentation板上有两个USB接口;一个连接到主XMC4500,另一个连接到第二个充当片上调试接口的XMC4500。要与您的应用程序通信,您需要使用连接到主处理器的那个(标记为“X3”),另一个用于编程和调试设备。

USB接口本身什么都不做; USB需要实现设备类的软件栈。要实现的最简单的设备类(因为您的PC OS已经有驱动程序)是CDC / ACM(或虚拟COM端口)。这将允许您使用.NET System.IO.Ports.SerialPort类与电路板交换信息。

提到USB VCP项目here,但我找不到所提到的代码。也许它包含在开发工具包中,你已经拥有它了吗?

请注意,如果您确实使用片上USB作为设备,那么如果要分发产品,则需要USB供应商ID,除非英飞凌允许开发人员在商业示例代码中使用VID。

请注意,该器件还具有UART(即真正的串行端口),毫无疑问,它可以更简单地工作并且需要更少的软件。 UART的I / O可以映射到一对GPIO引脚,然后您可以将TTL UART to USB bridge cable连接到该引脚,并将其直接插入PC串行端口。这样做的好处是无需自己的VID即可创建USB连接。

答案 1 :(得分:1)

尝试使用此代码读取数据并将其显示在COM3上....

    // Create the serial port with basic settings....You will need to modify SerialPort("COM3",9600, Parity.None, 8, StopBits.One); to suit your device.
    private SerialPort port = new SerialPort("COM3",
      9600, Parity.None, 8, StopBits.One);

    [STAThread]
    static void Main(string[] args)
    {
        // Instatiate this class
        new SerialPortProgram();
    }

    private SerialPortProgram()
    {
        Console.WriteLine("Incoming Data:");

        // Attach a method to be called when there
        // is data waiting in the port's buffer
        port.DataReceived += new
          SerialDataReceivedEventHandler(port_DataReceived);

        // Begin communications
        port.Open();


        // Enter an application loop to keep this thread alive

        int MyInt = System.Convert.ToInt32(Console.ReadLine());
        byte[] b = BitConverter.GetBytes(MyInt);
        port.Write(b, 0, 4);
        Application.Run();

    }

    private void port_DataReceived(object sender,
      SerialDataReceivedEventArgs e)
    {
        // Show all the incoming data in the port's buffer
        Console.WriteLine(port.ReadExisting());
    }

答案 2 :(得分:0)

如果您在微控制器上有USB端口,您可以通过两种方式与在PC或任何其他嵌入式设备上运行的GUI进行通信,您可以使用直接USB电缆,也可以将COM端口连同usb一起使用到UART转换器,这可能是您的开发板或外部转换器。如果你有这个转换器,那么你的微控制器的串口必须已经使用过。

案例1:直接USB - 在此模式下,您需要在PC端使用USB库(例如libusb / winusb),它可以将您的应用程序与PC usb硬件连接。另一方面,应该在微控制器上运行usb库,它可以像PC usb库一样运行。

案例2:通过COM端口 - 安装usb到uart转换器的驱动程序然后你可以找到你在设备管理器中连接的设备,你可以识别端口号。您可以扫描C#应用程序中连接的COM端口,也可以手动插入确切的COM端口,并使用可与微控制器通信的串行库。