【发布时间】:2020-03-20 20:41:20
【问题描述】:
我正在尝试编写一个快速程序来将 AT 命令发送到串行端口调制解调器。我已经使用正确的设置(B115200、8N1 等)打开了端口,并且下面代码示例中的 String'Write 调用确实可以正常工作。
现在我正在添加代码以将调制解调器的响应作为字符串读回。但是我无法事先知道响应的长度,因此我无法创建一个字符串变量来传递给out String 参数,除非我确实知道长度。
package GSC renames GNAT.Serial_Communications;
SP : aliased GSC.Serial_Port;
function Send (Port : in GSC.Serial_Port; S : in String) return String is
begin
String'Write (SP'Access, S);
delay 0.1;
declare
Retval : String; -- NOT VALID - needs to be initialised
begin
String'Read (SP'Access, Retval);
return Retval;
end;
end Send;
我这里有鸡/蛋的情况。
【问题讨论】:
标签: string serialization stream ada