Решил недавно написать программу для PIC16F684 в MikroC создаюшую синусоидальную ШИМ, но сталкнулся с проблемой "There is not enough ROM space".
Посоветуйте, как правильно распределить память. Чтоб компилятор не пытался записать программу на один 2кб лист.
Pic16
Started By Hofnar, июн 11 2013 20:13
2 ответов в этой теме
#2
Отправлено 11 июня 2013 - 20:49
Требовать, чтобы 8-ми битный контроллер рассчитал синус в режиме реального времени в оперативе крайне не разумно. Применяй таблицы. Пусть математика ложится на плечи компилятора. На восьмибитниках с таким объемом памяти даже умножение байта на байт может быть проблемой. Его поле деятельности - ногодрыг, простые интерфейсы.
Синусовых таблиц на просторах море. Можно готовую прилепить в виде константного массива, который расположится во флеши. Для точности в 1 градус достаточно хранить всего 360/4=90 байт, если разрешение 8 бит устроит.
Синусовых таблиц на просторах море. Можно готовую прилепить в виде константного массива, который расположится во флеши. Для точности в 1 градус достаточно хранить всего 360/4=90 байт, если разрешение 8 бит устроит.
Сообщение изменено: Вырвиглаз (11 июня 2013 - 20:50 )
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.