Вычисление табличных функций на микроконтроллере
При программировании микроконтроллеров иногда возникает задача вычисления достаточно сложных математических функций. И хотя стандартная библиотека AVR GCC включает поддержку вещественных чисел и вычисления базовых математических функций для них, на практике не всегда возможно использование этих средств. Поскольку микроконтроллеры AVR не имеют математического сопроцессора и команд для работы с вещественными числами, использование стандартных библиотечных процедур приводит к генерации относительно громозкого и медленного кода. В связи с этим, для вычисления "сложных" математических функций часто прибегают к табличному методу, когда функция вычисляется предварительно, ее значения записываются в массив, и далее берутся из него. Для уменьшения размера массива, в нем можно хранить значения функции с большим шагом с делать линейную интерполяцию по ним.
Данный калькулятор позволяет сгенерировать исходный код под МК AVR для табличного вычисления функций. Он автоматически выберет тип для аргумента и возвращаемого функцией значения исходя из введенных данных и, в случае необходимости, функция будет вычисляться с линейной интерполяцией.
Функция пишется на языке JavaScript. Допустимо использование следующих функций и констант:
Далее указывается диапазон изменения аргумента и шаг табулирования функции. Аргумент может быть только положительным числом размером не более двух байт. Кнопка "Создать код" отобразит график функции и сгенерит Си-код для нее. На графике сплошной синей линией показана исходная функция, зеленой - точки таблицы и линейная аппроксимация по этим точкам.
Введите выражение для функции аргумента x:
Диапазон аргумента x: от до шаг
Название функции:
Исходный код:
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- English