我有一个FPGA发送我的C#programm总是4字节。我的c#程序接收4个字节但等待直到发生serialPort超时事件,但FPGA想要发送接下来的4个字节。为了加快这个过程,我想知道如何配置serialPort(msdn serialPort类)函数readByte只接收4个字节而不等待超时。
或者我应该使用readLine并在发送4个字节后发送一行?行尾的具体Ascii代码是什么?我找到了0D 0A。使用哪一个OD或0A来表示线路末端是否重要?
答案 0 :(得分:0)
根据文档here,ReadByte
函数读取单个字节。如果抛出TimeoutExcepion
,则必须调用该函数四次以上,否则FPGA不会发送四个字节。
要读取四个字节,您应该使用类似:
int[] data = new int[4];
for (int i = 0; i < 4; i++)
{
data[i] = port.ReadByte();
}
答案 1 :(得分:0)
如果你一次只想要4个字节,请使用这样的SerialPort.Read()。
@property