Seregio 0 27 июля, 2009 Опубликовано 27 июля, 2009 (изменено) · Жалоба В WINAVR по умолчанию float = double = 32 битам, кто знает как повысить точность расчетов для тригонометрических функций ? Работаю с ATMEGA128. Изменено 27 июля, 2009 пользователем Seregio Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 27 июля, 2009 Опубликовано 27 июля, 2009 (изменено) · Жалоба Страница 87 описания: • Data types: char is 8 bits, int is 16 bits, long is 32 bits, long long is 64 bits, float and double are 32 bits (this is the only supported floating point format), pointers are 16 bits (function pointers are word addresses, to allow addressing up to 128K program memory space). There is a -mint8 option (see Options for the C compiler avr-gcc) to make int 8 bits, but that is not supported by avr-libc and violates C standards (int must be at least 16 bits). It may be removed in a future release. Тоесть - никак. Разве что, собственную библиотеку написать на основе long long в каестве мантиссы. На arm переходите. Изменено 27 июля, 2009 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Seregio 0 27 июля, 2009 Опубликовано 27 июля, 2009 · Жалоба спасибо за ответ, буду писать библиотеку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 27 июля, 2009 Опубликовано 27 июля, 2009 · Жалоба Сколько времени на это? Не быстрее ли окажется на другой процессор перейти - программа с winar на другой gcc - yagarto - переносится за день (если ассемблера нет в программме). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 27 июля, 2009 Опубликовано 27 июля, 2009 · Жалоба Сколько времени на это? Не быстрее ли окажется на другой процессор перейти - программа с winar на другой gcc - yagarto - переносится за день (если ассемблера нет в программме). Гм, так уж и за день, в независимости от объема и сложности ПО, а также знаний другого микроконтроллера? Кстати, если топикстартер уже имеет сображнное и отлаженное железо, то проще с библиотекой помучаться. В WINAVR по умолчанию float = double = 32 битам, кто знает как повысить точность расчетов для тригонометрических функций ? Какая точность Вам необходима? Может быть табличное решение (для ускорение вычислений) применить + свой тип дробных чисел и методы работы с ними? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 27 июля, 2009 Опубликовано 27 июля, 2009 · Жалоба Гм, так уж и за день, в независимости от объема и сложности ПО, а также знаний другого микроконтроллера? Я перенес сложную ножкодрыгаельную программу (16*2 индикатор, кнопки, spi устройства, прерывания от пинов и таймер) за день. после сборки на макетке wiggler-а и припаиваня к макетке же at91sam7s32. С arm я до того не работал вообще (правда, работал с полдесятком других процессоров). Так вопрошавшему мы поможем перейти на arm? Всё определяется сроками и затратами, которые топикстартер моет себе позволить. Если он пару месяцев будет отлаживать новую библиотеку - и выяснит, что по скорости работы не уложился... возможности перейти на другой процессор ему уже не дадут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Seregio 0 28 июля, 2009 Опубликовано 28 июля, 2009 · Жалоба Точность нужна 16 знаков после запятой. В АРМе есть сопроцессор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
manul78 4 28 июля, 2009 Опубликовано 28 июля, 2009 · Жалоба Точность нужна 16 знаков после запятой. В АРМе есть сопроцессор? Сергей ! Неужели не умеешь пользоватся Google ! Специально для тебя ! 2005_07_110.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться