0
我試圖讀取的串行通信「COM1」數據,使用基於RS 422, ,如下ADA。GNAT串行通信(ADA)
S_Port : Serial_Port;
Buffer : Ada.Streams.Stream_Element_Array(1..150);
GNAT.Serial_Communications.Open(Port => S_Port,Name => "COM1");
GNAT.Serial_Communications.Set(
Port => S_Port, Parity => Even, Block => False,
TimeOut => 4.0
);
GNAT.Serial_Communications.Read(S_Port,Buffer,Last);
的問題是,雖然「最後一個」變化爲9至27的值,該緩衝器具有 遠遠超過9或27個字節。我以爲我可以使用「最後」標記的消息, 的結束,但事實並非如此呢? 此外,我似乎無法有一個無限緩衝區使用讀功能,而且必須 定義一定的規模?
在此先感謝。
謝謝你,我以爲,在默認情況下阿達設置初始化之前的所有元素爲null。儘管我的陣列確實包含了一些垃圾。 – Iman