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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> сделать конвертацию бит с АЦП в температуру, по таблице
SM
сообщение Feb 9 2015, 08:50
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Метценгерштейн @ Feb 9 2015, 11:44) *
Думаете, номер массива вылезет за 0xFF ? Нет, конечно.


Не думаю, а вижу по Вашему коду. Пусть data = 10, i=0. Нулевой элемент массива = 20. Первое условие 10==20 не выполняется. Второе условие 10<20 - выполняется. Возвращаем "i-1", что равно "0-1", что равно 0xFF.

Поэтому логично было бы иметь не два условия, а одно, if (data <= table[i]) return i;
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 9 2015, 12:37
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



да, так
только если
data = 24;
при условии
Код
if (data <= table[i])

вернет 4
а нужно бы на градус меньше, т.е. 3
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 9 2015, 12:49
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Метценгерштейн @ Feb 9 2015, 15:37) *
вернет 4
а нужно бы на градус меньше, т.е. 3

так поуменьшите все числа в таблице на 1. Короче, не алгоритм подпиливают под таблицу, а таблицу под алгоритм.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 9 2015, 12:55
Сообщение #19


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А что же не сделать линейную интерполяцию между ячейками таблицы?
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 9 2015, 12:58
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(ViKo @ Feb 9 2015, 15:55) *
А что же не сделать линейную интерполяцию

Я, конечно, не автор, но, думаю, в задаче нет требования искать доли градуса. Поэтому достаточно найти, между какими значениями искомый целочисленный градус находится.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 9 2015, 13:32
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



в задаче температура нужна с точностью 5 градусов.
Go to the top of the page
 
+Quote Post

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

 


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


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