Перейти к содержанию
Fire Monkey от А до Я
  • 0

Странности с чтением данных по TBuetooth


zheka1980

Вопрос

Цитата

 

	  TBytes FData;

FData=Socket->ReceiveData(100);
 len_rx=FData.Length;
			Memo1->Lines->Add(len_rx);
				Memo1->Lines->Add(TEncoding::UTF8->GetString(FData));

			len_rx=0;
 if(len_rx == 0)
  {

	  TArray__1<System::Byte> * buffer = new TArray__1<System::Byte>;
	 buffer->set_length(6);
		(*buffer)[0] = 'r';
		(*buffer)[1] = 'e';
		(*buffer)[2] = 's';
		(*buffer)[3] = 'e';
		(*buffer)[4] = 't';
		(*buffer)[5] = 0x0D;
	Socket->SendData(*buffer);
	delete buffer;
  }

Вышеприведенный код запускается по таймеру каждую секунду - командой "reset" целевое устройство отправляется в перезагрузку, после чего отвечает, мол здесь я.

То есть вначале проверяется нет ли чего в буфере приема (не ответило ли целевое устройство), а если ответа нет, команда на ресет подается повторно.

То что len_rx принудительно сбрасывается в ноль - не обращайте внимания, это временно для отладки.

 

Так вот, что меня смущает - количество байт в FData, почему то всегда равно размеру buffer

Я было подумал, что где-то я эти переменные приравниваю друг к другу - ан нет. То, что оказывается в FData, является правильными данными, то есть тем, что шлет целевое устройство в ответ.

В чем причина? И чем отлиючаются ReadData и ReceiveData? Это буфера или нет? Как они работают? Что-то не густо информации в интернете.

 

Вот дока http://docwiki.embarcadero.com/Libraries/Berlin/en/System.Bluetooth.TBluetoothSocket.ReadData

но она как-то не сильно помогает.

 

Изменено пользователем zheka1980
Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...