Проблемы Serial.write и Serial.read

Мне нужно отправить данные с Arduino mega на Arduino Uno для вычисления XOR Входные данные представляют собой целое число в диапазоне 0-10 Входные данные отправляются каждые 500 мс

На меге:

void setup() {
    Serial.begin(9600);
}

void loop(){
    int inp = (rand()%9); //рандомизированный ввод
    Serial.write(inp);
}

Выводит правильные значения на последовательный монитор

О Uno:

#define key 'F'

void setup(){
    Serial.begin(9600);
}

void loop(){
    int val = Serial.read();
    int cal = val ^ (int)key; //XOR операция
}

Не работает, так как некоторые значения отсутствуют во входном потоке

Например: если входные данные 1,2,3,4,5,6 на последовательном мониторе uno я могу видеть только 1,2,4,5,6

Я не могу устранить это. Кто-нибудь может мне в этом помочь? Только начал изучать, как реализовать связь на Arduino

, 👍1

Обсуждение

Сократите свой реальный код до минимального примера, который демонстрирует проблему и может быть протестирован кем-то, кто пытается ответить на ваш вопрос., @timemage

это не форум, а сайт вопросов и ответов. отредактируйте вопрос чтобы добавить информацию о проблеме, @Juraj

Дайте нам больше информации о вашей проблеме, например, покажите нам точную часть вашего кода приема и отправки, чтобы мы могли понять, в чем проблема., @dharmik

Код, который вы опубликовали, не компилируется (это не "Пустота`, а "пустота"). Пожалуйста, не отправляйте код, который вы не тестировали раньше., @Edgar Bonet

Serial.write(int) записывает одно значение _binary_ в последовательный порт. Как вы проверяете это с помощью последовательной консоли? Вы не увидите там ничего полезного., @PMF

Я хотел отправить значение int на другую плату. Когда я посмотрел на последовательный монитор, значения генерировались, как и ожидалось, @Dhruva Santosh