![]() |
|
![]() ![]() ![]() |
|
debil |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 12.12.2007 Репутация: нет Всего: нет |
Помогите преобразовать число float не более 4-х значащих цифр ( например -135.0 или 45.97) в три-четыре байта, которые будут передаваться в СОМ порт, согласно описания:
![]()
![]() void Float_To(unsigned char* data, float* value) { ![]() ![]() } value = StrToFloat(Edit1 -> Text); //..число находится здесь // какая то проверка на кол-во знаков Float24(pf.data_, &value); Label1 -> Caption = IntToHex(pf.data_[0],2); Label2 -> Caption = IntToHex(pf.data_[1],2); Label3 -> Caption = IntToHex(pf.data_[2],2); Label4 -> Caption = IntToHex(pf.data_[3],2); ![]() ![]() ![]() ![]() Из протокола видно: 215.5 передается как 0x18-0x6B-0x00 -или 0001-1000 =0110-1011 21.55 передается как 0x28-0x6B-0x00 -или 0010-1000 =0110-1011 2.155 передается как 0x38-0x6B-0x00 -или 0100-1000 =0110-1011 215.0 передается как 0x00-0xD7-0x00 -или 0000-0000 =1101-0111 255.0 передается как 0x00-0xFF-0x00 -или 0000-0000 =1111-1111 -255.0 передается как 0x80-0xFF-0x00 -или 1000-0000 =1111-1111 -255.5 передается как 0x99-0xFB-0x00 -или 1001-1001 =1111-1011 256.0 передается как 0x01-0x00-0x00 -или 0000-0001 =0000-0000 99.99 передается как 0x20-0x27-0x0F-0x00 -или 0010-0000 =0010-0111=0000-1111 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |