Вычисление табличных функций на микроконтроллере

Вычисление табличных функций на AVR

При программировании микроконтроллеров иногда возникает задача вычисления достаточно сложных математических функций. И хотя стандартная библиотека AVR GCC включает поддержку вещественных чисел и вычисления базовых математических функций для них, на практике не всегда возможно использование этих средств. Поскольку микроконтроллеры AVR не имеют математического сопроцессора и команд для работы с вещественными числами, использование стандартных библиотечных процедур приводит к генерации относительно громозкого и медленного кода. В связи с этим, для вычисления "сложных" математических функций часто прибегают к табличному методу, когда функция вычисляется предварительно, ее значения записываются в массив, и далее берутся из него. Для уменьшения размера массива, в нем можно хранить значения функции с большим шагом с делать линейную интерполяцию по ним.

Данный калькулятор позволяет сгенерировать исходный код под МК AVR для табличного вычисления функций. Он автоматически выберет тип для аргумента и возвращаемого функцией значения исходя из введенных данных и, в случае необходимости, функция будет вычисляться с линейной интерполяцией.

Функция пишется на языке JavaScript. Допустимо использование следующих функций и констант:

Далее указывается диапазон изменения аргумента и шаг табулирования функции. Аргумент может быть только положительным числом размером не более двух байт. Кнопка "Создать код" отобразит график функции и сгенерит Си-код для нее. На графике сплошной синей линией показана исходная функция, зеленой - точки таблицы и линейная аппроксимация по этим точкам.

Введите выражение для функции аргумента x:

Диапазон аргумента x: от до шаг

Название функции:

Исходный код:

Рейтинг: 
0
Голосов еще нет