Показать сообщение отдельно
  #2  
Старый 27.11.2014, 11:29
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Rusanov_Ivan
Я не пойму если передаю например число 1235 то оно так и передастся (0x04D3) или оно передастся как отдельные символы 1(0x31), 2(0x31)...
COM-порт является последовательным портом, а не параллельным, поэтому данные передаются побитно, но в первом приближении можно считать что они передаются побайтно. Твоё число 1235 хранится в переменной типа Integer имеющей размер 4 байта, что в шестнадцатеричном виде представляется как $000004D3 или как 4 байта $00,$00,$04,$D3, а учитывая что байты в целочисленных типах хранятся в обратном порядке (в связи с "остроконечностью" процессоров Intel) это число будет передано как 4 байта в таком порядке: $D3,$04,$00,$00. Если же передавать не число типа Integer, а строку например типа AnsiString вот так '1235', тогда будет передано 4 байта соответствующих кодам ASCII этих символов: $31,$32,$33,$35.
Ответить с цитированием