Сконфигурируйте интерфейс последовательной связи на стороне хоста для приема данных от последовательного порта
Блок управления двигателем/Защита и диагностика
Блок Host Serial Receive задает строение данных, которые он получает от целевого компьютера.
Пакет данных, который получает блок, ограничивается 16 байтами символов ASCII, включая заголовки пакетов и терминаторы строки. Вычислите размер пакета, включив заголовок пакета, или терминатор строки, или и то, и другое, и размер данных. В этой таблице показано количество байтов в каждом типе данных.
Тип данных | Количество байтов |
---|---|
| 4 байта |
| 1 байт |
| 2 байта |
| 4 байта |
Например, если ваш пакет данных имеет заголовок пакета 'S' (1 байт) и терминатор строки пакета 'E' (1 байт), это оставляет 14 байтов для фактических данных. Если ваши данные имеют тип int8
, в пакете данных есть пространство для 14 int8
s. Если ваши данные имеют тип uint16
, в пакете данных есть пространство для 7 uint16
s. Если ваши данные имеют тип int32
, в пакете данных есть пространство только для 3 int32
s, с 2 байтами, оставшимися. Несмотря на то, что вы могли уместить две int8
s или один uint16
в оставшемся пространстве вы не должны, потому что вы не можете смешивать типы данных в том же пакете.
Количество типов данных, которые могут помещаться в пакет данных, определяет размер данных. В предыдущем примере размер данных равен 14 для int8
и 7 для uint16
. Когда размер данных превышает 16 байт, вероятно, произойдет неожиданное поведение, включая ошибки времени выполнения.