![]() |
|
|
Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники. |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 |
Senior Member
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 816
Вес репутации: 805/60 ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Приветствую.
Помогите, кто чем может... ![]() Есть приборчик, с которым общаюсь по ком-порту (это не принципиально). Общение в стиле запрос-ответ. Среди всего многообразия его ответов, присутствуют различные представления чисел...: binary_character - один байт, тут всё просто; unsigned_integer - два байта, тоже всё понятно глядя на цифры; float - 3 байта. Вот тут засада. Везде пишут про 32 бита флоат и битовые поля описаны - я разобрался (с бОльшего). Хорошее нестандартное описание по адресу https://habr.com/ru/post/337260/ А вот с имеющимся у меня загадочным "float"- засада. Есть некоторые цифры (ответы прибора), которые я знаю через родную оболочку прибора и могу сравнить с дампом его ответа. Приведу примеры (порядок байт - по мере поступления из порта): 4E 20 FD - предполагается, что это 20 (2,0000Е+01) 1E 84 FA - предполагается , что это 0,007812 (7,812Е-03) - оно-же = 1/128 0F A6 FC - предполагается, что это 50 с ошибкой округления (4,992511Е+01) 7A 10 F8 - предполагается, что это 25 (2,5000Е+01) F0 60 FE - предполагается, (но этот пример под вопросом) -0,015624 (-1,5624Е-02) Два дня читаю интернеты и битовые поля снятся уже - пните в нужном направлении плиз... PS Есть микрочиповский АN575 - там упоминается "свой" float24 но у меня тоже не сходится.. Если кто в Минске - готов подъехать с пивом... )
__________________
RTFM.....и будет вам счастье Последний раз редактировалось Marat; 17.01.2019 в 17:27. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 816
Вес репутации: 805/60 ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Есть подвижки... хоть какая-то закономерность обнаружена:
"20" => 4E 20 FD => 010011100010000011111101 "100" => 27 10 FE => 001001110001000011111110 и ещё мелочи: 1E 84 FA = 0,007812 1F 40 FA = 0,008 1E 88 FA = 0,007816 C2 F8 FA = -0,015624 ____ 110000101111100011111010 C1 80 FA = -0,016 _______ 110000011000000011111010 но уже "что-то"... ![]() получается всё-же что-то типа: smmmmmmmmmmmm??????eeeee
__________________
RTFM.....и будет вам счастье |
![]() |
![]() |
![]() |
#3 |
Senior Member
Регистрация: 27.03.2007
Адрес: Минск
Сообщений: 816
Вес репутации: 805/60 ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Разобрался.
Вопрос закрыт...
__________________
RTFM.....и будет вам счастье |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Float сохранить в 4 байта внешней EEPROM | diger67 | Микроконтроллеры других производителей | 23 | 27.09.2016 04:53 |
STM32 Keil float return problem | Natali | Микроконтроллеры других производителей | 3 | 01.02.2012 22:59 |
PICC 9.60 проблема с Float | tonik_spb | Продукция MICROCHIP | 9 | 16.05.2011 15:16 |
float to char не работает | trubin | Продукция MICROCHIP | 10 | 18.12.2010 21:15 |
Помогите с реализацией float и printf | Aleksey_n | Продукция MICROCHIP | 1 | 01.10.2007 13:05 |