Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: float32 в параллельный порт
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Zol'berg
Всем привет, имеется программка, имеющая результатом своих вычислений массив float32_t, на базе stm32f4, и все хорошо, но вот проблемка,
теперь необходимо вывести это все параллельно через порт (16 битный), сперва старшие 2 байта, а после младшие 2 байта, как это сделать на С
без преобразования float в int не догоню, операции сдвига для float не катят!!
Спасибо))
skripach
как угодно, вариантов много, union c int16 например.
_pv
через преобразование типов указателей:
unsigned int int_var = *((int*)(&float_var));

float a = 0.5;
unsigned short high = (*((int*)(&a))) >> 16;
unsigned short low = *((int*)(&a));


ну или через использование union.
toweroff
Ну так и присваивайте что-то типа
Код
float32_t f;
uint16_t *i;

i = (uint16_t*)&f;
port = *i++;
port = *i;
Zol'berg
Всем спасибо, заработало! cheers.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.