2015-07-21 3 views
0

Мне нужно отправить два отдельных целых числа от одного arduino к другому. Нет проблем с расстоянием и связью, но я не уверен, как это сделать.Отправка 6numbers long integre от arduino до arduino

Мне нужно отправить два целых числа, каждый от -15000 до 15000, в течение 0,2 секунды.

Так что один ардуино отправляет, а другой читает.

ответ

0

Вы можете попробовать с Serial.print (INT) look at this

извините за мой плохой английский

0

Если у вас есть последовательная связь между двумя пунктами, вы можете

1) отправить в текстовом виде:

// Sender 
Serial.print(value); 

// Receiver 
int value = Serial.parseInt(); 

2) отправить его в двоичном основе образом:

byte arr[4]; 

// Sender 
for (i=0;i<4;i++) 
    arr[i] = (value >> (8*(3-i))) & 0xFF; 
Serial.write(arr,4); 

// Receiver 
if (Serial.available() > 4) 
{ 
    Serial.readBytes(arr,4); 
    value = 0 
    for (i=0;i<4;i++) 
     value = (value << 8) | (((int)arr[i]) & 0xFF); 
} 

Первый способ проще, второй более оптимизирован и может стать более надежным, если вы добавите некоторые элементы управления.

Если вы не используете последовательный канал связи, вам придется изменить эти функции (но, вероятно, любой интерфейс позволяет отправлять и получать массивы байтов, поэтому второй может быть применен практически в любом случае)

Смежные вопросы