Споткнулся на ровном месте. Надо подсчитывать натуральный логарифм. Иcпользую функцию log(), logf(), но как-то странно работает. send_base массив 16 битных слов.
В таком виде не работает.
Код
volatile float x=((adc_ext_result[i]/5*20000.0)/(65535.0-adc_ext_result[i]/5));
send_base[adc_ext_index[i]]=logf(x);
x=21521.0; log(x)= 65535.
А так работает:
Код
volatile float x=((adc_ext_result[i]/5*20000.0)/(65535.0-adc_ext_result[i]/5));
float r=21521.0;
send_base[adc_ext_index[i]]=logf(r);
logf®=9;
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.4 20140725 (release) [ARM/embedded-4_8-branch revision 213147]
на работе пробовал компилить другим тулчайном резльтат тот же. Не могу понять где копать.