Отправка пользовательских команд на встроенное устройство по локальной сети: символы или целые? - PullRequest
0 голосов
/ 23 октября 2018

Я работаю над прошивкой, которая сможет получать команды от приложения для ПК, и планировал использовать символы для этого, но при определении их в заголовке я случайно поставил ' вместо ", которыйсделал это определить Int.Это заставило меня задуматься о различиях между ними.Если бы я использовал int, я мог бы сравнить команду быстрее, а не циклически проходить по нескольким символам в моей команде.Однако я не уверен, есть ли другие проблемы, с которыми я мог бы столкнуться.Я также работаю в автомате и буду иметь один или несколько операторов switch.

Какая разница между int и символом при отправке и получении по сети?

Пример команды: #define POWER_OFF "PWROFF"

РЕДАКТИРОВАТЬ: Использование компилятора GCC ARM, если это помогает.Я также ожидаю более 60 команд.Я смогу манипулировать выходами и переключением режимов.

1 Ответ

0 голосов
/ 23 октября 2018

Это во многом зависит от процессора встроенного устройства, а также от частоты обмена сообщениями.Поскольку вы используете LAN (а не RS232 или TTL), пропускная способность не должна учитываться.Для достижения большей читабельности кода и упрощения обслуживания, а также возможности простого тестирования встроенного устройства лучше спроектировать протокол сообщений в режиме ASCII (символы), чем в двоичном режиме (числа и байтовые команды), если у вас нет частой итерации командотправить на процессор с низкой способностью обработки.Другой подходящий способ - использовать ASCII для заголовков команд и использовать двоичный код для операндов и аргументов (если есть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...