Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 92

Использование калибровочных таблиц

03.12.2013, 23:08. Показов 4071. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемое сообщество.
Есть такая задача: разрабатывается устройство на STM32. На вход принимает какое то числовое значение. Далее, согласно таблице, находит наиболее близкое значение и получает коэффициент, соответствующий этому значению. Выполняет с ним действия и возвращает результат.

Вопрос: как более грамотно организовать хранение этой таблицы (где) и какой формат выбрать, если учесть, что будет около 400 строк по 3 колонки (ну это если представить в виде реальной таблицы).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2013, 23:08
Ответы с готовыми решениями:

Связь таблиц в Workbanch и использование таблиц
Создана БД в Access, после при помощи Access to MySQL создан дамп таблиц и переведен в SQL, нужно сделать связи между таблицами в...

Использование данных из таблиц
Допустим имеется таблица номер один, которую будет заполнять человек и имеется таблица номер два, которая является прайс листом. Как...

Использование хеш таблиц
Помогите пожалуйста. Нужно создать телефонный справочник (по фамилии и/или имени и/или отчеству найти номер телефона). И реализовать...

12
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
03.12.2013, 23:34
Цитата Сообщение от thiKyttir
как более грамотно организовать хранение этой таблицы (где) и какой формат выбрать, если учесть, что будет около 400 строк по 3 колонки (ну это если представить в виде реальной таблицы).
Раз табличные данные неизменные, то таблица должна храниться в ПЗУ (ROM).
В виде линейного массива[400*3] или двумерного массива[400][3].
0
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 92
03.12.2013, 23:48
Не совсем неизменны, но меняться будут крайне редко и должны меняться конечным пользователем с ПК.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
03.12.2013, 23:51
Цитата Сообщение от thiKyttir
Не совсем неизменны, но меняться будут крайне редко и должны меняться конечным пользователем с ПК.
То есть при смене прошивки . Однозначно в ROM ...
0
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
03.12.2013, 23:53
В общем случае упорядоченный массив 400х3, двоичный поиск строки за максимум 9 сравнений.

Если интервалы равномерны, то возможны разные эвристики.

Например таблица:

Х К
0 ...
10 ...
20 ...
30 ...
40 ...

то очевидно, что номер строки = X/10 находится за одну операцию
0
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 92
03.12.2013, 23:55
Почему при смене? Прошивка остается - калибровочные данные меняются.
А читать их, кстати, придется не менее 20 раз в секунду...
0
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 92
04.12.2013, 00:00
Цитата Сообщение от Stiit.mi
В общем случае упорядоченный массив 400х3, двоичный поиск строки за максимум 9 сравнений.

Если интервалы равномерны, то возможны разные эвристики.

Например таблица:

Х К
0 ...
10 ...
20 ...
30 ...
40 ...

то очевидно, что номер строки = X/10 находится за одну операцию
Интервалы будут равномерными. Значение может быть например 12. Тогда мне надо выбрать ближайшее сверху и ближайшее снизу (т.е. 10 и 20). Не совсем понял что означает запись Х/10?
0
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
04.12.2013, 00:31
Цитата Сообщение от thiKyttir
Интервалы будут равномерными. Значение может быть например 12. Тогда мне надо выбрать ближайшее сверху и ближайшее снизу (т.е. 10 и 20). Не совсем понял что означает запись Х/10?
эээ. А мы на каком языке пишем? :) В си - деление. Если целое на целое - то в результате тоже целое

X=12
X/10 = 1, значит между строками 1 и 2 (соответственно 10 и 20)

Если будет возможность, то выбрать интервалы кратные степени двойки (через 8 или 16 и т.д.), тогда деление на 8 или 16 можно заменить сдвигом на соответствующее число бит вправо, что благоприятней скажется на скорости выполнения.
0
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 92
04.12.2013, 00:43
Понял о чем Вы... Протупил я)))
Вопрос больше в том, что если хранить в пзу, то каждый раз идут обращения. Нет смысла считать при старте в озу? Или это будет разговор в пользу бедных?
0
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 1,445
04.12.2013, 01:03
Цитата Сообщение от thiKyttir
Вопрос больше в том, что если хранить в пзу, то каждый раз идут обращения. Нет смысла считать при старте в озу? Или это будет разговор в пользу бедных?
Глобально разницы не будет - Ftosh шире шина (128 бит), но есть woytstates, sram - наоборот. Попробовать.
0
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 92
04.12.2013, 01:31
Спасибо.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
04.12.2013, 11:27
Цитата Сообщение от thiKyttir
Вопрос больше в том, что если хранить в пзу, то каждый раз идут обращения. Нет смысла считать при старте в озу?
Даже если в ОЗУ, то специально считывать в него из ROM не надо. Достаточно объявить массив без атрибута "const" и сразу при объявлении дать инициализацию массива. Тогда stort-upный код сам считает данные из ROM и поместит в ROM.
0
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 92
04.12.2013, 12:07
Спасибо за совет! Так думаю и сделаю.
Спасибо большое всем откликнувшимся! Очень приятно находится на форуме с отзывчивыми и грамотными людьми)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2013, 12:07
Помогаю со студенческими работами здесь

Использование таблиц из другой БД
Добрый вечер, нужно с помощью запроса добавить таблицу из другой базы данных в текущую базу. Я в свойствах текущей БД указал базу...

Использование каскадных таблиц стилей
Стилевые файлы - "CSS" 1)Откройте text.htm(вложения) 2)Создайте в той же папке стилевой файл (оформляется в виде блокнота, где внутри...

SQL запрос использование 2-х таблиц
Парни помогите понять в чем ошибка Мне нужно Найти Из Таблицы Договор по Коду_Договора, Код_Услуги из Таблицы Договор_Услуги и всю...

Использование всех возможностей адаптивных таблиц
Добрый день. Посмотрел сайт http://css-tricks.com/responsive-data-tables/ , скачал код. Но в нем при 320 длинные записи в ячейке...

Использование псевдонимов таблиц в запросе к БД Mysql
При запросе к БД MYSQL выдает сообщение: #1305 - FUNCTION table1.Code_pgroup does not exist SELECT table1.Code_product,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru