реклама на сайте
подробности

 
 
> Арифметика с фиксированной запятой, ...как выполнить приведение форматов
novlev
сообщение Mar 17 2008, 06:50
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 116
Регистрация: 24-09-06
Пользователь №: 20 645



Есть задача - представить чисто в формате 00ХХХХХХ ХХХХХХХХ, где первый байт - старшая часть, второй - младшая. Изначально имею просто код ацп (в единицах самой ацп), надо дальше арифметику делать. Как перевести в этот формат и считать в нем?????????
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrYuran
сообщение Mar 17 2008, 11:34
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



float x=f(ADC); // перевели код АЦП в число, соотв. значению параметра
int y=(int)(x*k) // k - коэфф. масштабирования
Дальше можно выводить y наружу

Считать лучше именно во флоте, а преобразование формата сделать в конце, так точность больше получится

Сообщение отредактировал MrYuran - Mar 17 2008, 11:37


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
novlev
сообщение Mar 17 2008, 12:22
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 116
Регистрация: 24-09-06
Пользователь №: 20 645



ну контроллер полностью соответствует ветке форума - ADuC841, ацп встроенная. А вот результат надо выводить (пример) намерял я 5,12 вольта, и отправил в старшем байте 5, младшем 12.Извращенный формат.

Я наверно буду считать во флоат, а потом попробую перевести в этот извращенный форматsad.gif после адсп этот контроллер кажется таким неудобным....
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 10:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016