我正在使用C#
程序,该程序基本上是char
中SerialPort
序列的侦听器,它连接到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);
}
}
}
的假定:
我认为在UART-RS232模式下通过FTDI使用VCP我直接在UART缓冲区上进行监听,但是我担心我有很多东西可以读取其他东西而不是简单的字符。也许RS232包?也许另一种模式?我不知道。我可以帮助我了解当我使用COM端口时UART缓冲区内发生了什么吗?
我已经检查过的东西似乎没问题
感谢您的关注。我正在等待FTDI GURU帮助我(