Я хочу управлять несколькими роботами, используя мой ноутбук .Роботы не обладают интеллектом, они отправляют значения датчиков на ПК, который вычисляет значения датчиков и отправляет результаты обратно роботам. (Централизованное управление роботами с помощью ПК).
Роботы общаются с ПК через последовательную связь с использованием Zigbeemudule.
Проблема: Как создать и отправить структуру (из робота) как {sen1, sen2, sen3 .., id робота} где sen1, sen2 ..значения датчиков и идентификатор робота для распознавания конкретного робота.После редактирования ..... Код, который я использовал для отправки датчиков, был похож на
void TxData(unsigned char tx_data)
{ SBUF = tx_data; //Transmit data that is passed to this function
while(TI == 0); //wait while data is being transmitted
}
и затем отправлял значения датчиков одно за другим
TxData(left_whiteline_sensor);
TI=0; // resetting transmit interrupt after each character
TxData(middle_whiteline_sensor);
TI=0;
TxData(right_whiteline_sensor);
TI=0;
TxData(front_sharp_sensor);
TI=0;
В конце чтения этих значений на ПКв буфере
read(fd, buf1, sizeof(buf1));
.....
options.c_cc[VMIN]=4; // wait till not getting 4 values
Это было нормально работает , когда был только один робот , теперь у нас есть несколько роботов и каждый робототправляя данные, используя вышеуказанную функцию, я получаю смешанные значения датчиков всех роботов на стороне ПК .Одним из решений является создать структуру , о которой я упоминал выше, и отправить ее на ПК.Это то, что я хочу спросить " Как создать и отправить такую структуру " Извините, что не правильно сформулировал вопрос раньше.
Спасибо ...