Я пытаюсь написать небольшую коммуникационную программу с Arduino, используя пакет GNAT.Serial_Communications
.
Установление связи с Arduino работает нормально.Я использую функцию Serial_Communications.Read()
, чтобы получить информацию.Теперь я хочу преобразовать данные, хранящиеся в Stream_Element_Array
, в Integer
.
Я попробовал функцию Integer'Value()
, но она не работает, и я получаю сообщение об ошибке: expected type "Standard.String"
Использование String'Value()
приводит к: prefix of value attribute must be scalar type
.
Я не могу найти информацию о конвертации Stream_Element_Array
.
Serial_Communications.Open
(Port => Port,
Name => Port_Name);
Serial_Communications.Set
(Port => Port,
Rate => Serial_Communications.B115200,
Bits => Serial_Communications.CS8,
Stop_Bits => Serial_Communications.One,
Parity => Serial_Communications.Even);
Serial_Communications.Read(Port => Port,
Buffer => Buffer,
Last => Last);
Int_value := Integer'Value(String'Value(Buffer(1)));
Serial_Communications.Close(Port => Port);