Перейти к содержанию
    

кто работал с математикой на WINAVR

В WINAVR по умолчанию float = double = 32 битам, кто знает как повысить точность расчетов для тригонометрических функций ?

Работаю с ATMEGA128.

Изменено пользователем Seregio

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Страница 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 переходите.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сколько времени на это? Не быстрее ли окажется на другой процессор перейти - программа с winar на другой gcc - yagarto - переносится за день (если ассемблера нет в программме).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сколько времени на это? Не быстрее ли окажется на другой процессор перейти - программа с winar на другой gcc - yagarto - переносится за день (если ассемблера нет в программме).

Гм, так уж и за день, в независимости от объема и сложности ПО, а также знаний другого микроконтроллера? Кстати, если топикстартер уже имеет сображнное и отлаженное железо, то проще с библиотекой помучаться.

 

В WINAVR по умолчанию float = double = 32 битам, кто знает как повысить точность расчетов для тригонометрических функций ?

Какая точность Вам необходима? Может быть табличное решение (для ускорение вычислений) применить + свой тип дробных чисел и методы работы с ними?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гм, так уж и за день, в независимости от объема и сложности ПО, а также знаний другого микроконтроллера?

 

Я перенес сложную ножкодрыгаельную программу (16*2 индикатор, кнопки, spi устройства, прерывания от пинов и таймер) за день. после сборки на макетке wiggler-а и припаиваня к макетке же at91sam7s32. С arm я до того не работал вообще (правда, работал с полдесятком других процессоров).

 

Так вопрошавшему мы поможем перейти на arm?

 

Всё определяется сроками и затратами, которые топикстартер моет себе позволить. Если он пару месяцев будет отлаживать новую библиотеку - и выяснит, что по скорости работы не уложился... возможности перейти на другой процессор ему уже не дадут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точность нужна 16 знаков после запятой.

В АРМе есть сопроцессор?

 

Сергей ! Неужели не умеешь пользоватся Google !

 

Специально для тебя ! :biggrin:

2005_07_110.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...