如果在UART模式下设置的FTDI(FT2232H)上使用VCP,会发生什么? [COM不太好说话]

时间:2017-11-21 14:59:42

标签: c# .net serial-port uart ftdi

我正在使用C#程序,该程序基本上是charSerialPort序列的侦听器,它连接到FT2232H。 序列应以任意char开头并具有任意长度。 问题不在于我没有达到我预期的正确模式,问题在于我根本没有传递到芯片中的字符,有时它们会与其他字节混合在一起我确定没有通过芯片!

即使用char读者编写这个字母也没有帮助我理解里面发生的事情。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO.Ports;
using System.Windows.Forms;

namespace FTDI_VCP
{
class SerialPortProgram
    {
    int _test_counter = 0;
    private string _buffer;
    private SerialPort port = new SerialPort("COM11",
      9600, Parity.Even, 8, StopBits.Two);

    [STAThread]
    static void Main(string[] args)
    {
        new SerialPortProgram();
    }

    private SerialPortProgram()
    {
        Console.WriteLine("incoming chars:");

        port.DataReceived += new
          SerialDataReceivedEventHandler(port_DataReceived);

        port.Open();

       Application.Run();
    }

    private void port_DataReceived(object sender,
      SerialDataReceivedEventArgs e)
    {


        if(port.BytesToRead != 0)
        {
            do {
                int byte2read = port.ReadChar();
                if(byte2read == 0xFF) //this is my arbitrary char value
                {
                    Console.WriteLine();
                }
                else
                {
                    Console.Write((char)port.ReadChar());
                }
            } while (true);
        }
    }
}

This is the output:

的假定:

我认为在UART-RS232模式下通过FTDI使用VCP我直接在UART缓冲区上进行监听,但是我担心我有很多东西可以读取其他东西而不是简单的字符。也许RS232包?也许另一种模式?我不知道。我可以帮助我了解当我使用COM端口时UART缓冲区内发生了什么吗?

我已经检查过的东西似乎没问题

  1. 波特率不匹配
  2. 其他设备干扰
  3. FTDI处于正确模式,I used FT_Prog like this
  4. 感谢您的关注。我正在等待FTDI GURU帮助我(

0 个答案:

没有答案