Я пытаюсь написать GUI в C# для сопряжения ПЛИС с P C через UART. На стороне FPGA я использую 32-битный тип данных без знака:
data_to_uart : out unsigned(31 downto 0);
data_to_uart <= to_unsigned(1000, 32);
Затем data_to_uart в моей конструкции FPGA переходит к блоку, который разбивает эти 32-битные без знака на 4 байта и отправляет их один за другим через UART. Поэтому в терминале я получаю следующее (значение должно быть: 1000):
00000000 00000000 00000011 11101000
Моя проблема: как правильно прочитать эти четыре байта в c#, используя System.IO.Ports ; и преобразовать его в int (для выполнения математических операций), а затем в строку - для отображения значения на этикетке.
В настоящее время я использую:
inputData = serialPort1.ReadExisting();
Следующие: Пример преобразования двоичного числа в десятичное у меня не работает, потому что .ReadExisting возвращает строку: (
Я посмотрел на это:
Документы Microsoft - метод SerialPort
Нужно ли мне использовать метод SerialPort.ReadByte? Там заявлено, что он читает только один байт, как прочитать все четыре, а затем преобразовать в int?
Я использую: Baud скорость - 115200, 8 бит и один стоп-бит.
Спасибо за внимание и, возможно, несколько советов.:)