Hallo,
ich stehe gerade vor einem Anfängerproblem, welches ich nicht so ganz
verstehe. Es geht um folgenden Code:
1 | #define MSG_LEN 7
|
2 | union MSG
|
3 | {
|
4 | uint8_t data[MSG_LEN];
|
5 | struct
|
6 | {
|
7 | uint8_t b0;
|
8 | uint8_t b1;
|
9 | uint8_t b2;
|
10 | uint8_t b3;
|
11 | uint8_t b4;
|
12 | uint8_t pwmOut;
|
13 | uint8_t pwmVal;
|
14 | } bytes;
|
15 | };
|
1 | int16_t aktDrehz = 50;
|
2 | float liter, ber, pwm;
|
3 | int ipwm;
|
4 | uint8_t diffLiter = 50;
|
5 |
|
6 |
|
7 | ber = ((100 - diffLiter) * aktDrehz / 100);
|
8 | liter = pow(0.000000016886 * ber, 5) - pow(0.00000585112 * ber, 4) + pow(0.000648028 * ber, 3) - pow(0.0218385796 * ber, 2) + (0.534156384 * ber) - 0.4682274;
|
9 | pwm = pow(0.000888526 * liter, 3) - pow(0.108956237 * liter, 2) + (5.900433784 * ber) + 77.628376829;
|
10 | ipwm = (int)(round(pwm));
|
11 |
|
12 | msg->bytes.pwmVal = (uint8_t)ipwm;
|
Warum bekomm ich hier folgende Fehlermeldung?
1 | c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(log.o): In function `log':
|
2 | (.text.avr-libc.fplib+0x46): relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o)
|
3 | c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(log.o): In function `log':
|
4 | (.text.avr-libc.fplib+0x4e): relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o)
|
5 | c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(modf.o): In function `modff':
|
6 | (.text.avr-libc.fplib+0x3e): relocation truncated to fit: R_AVR_13_PCREL against symbol `__subsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o)
|
7 | make: *** [komfort_main.elf] Error 1
|
8 | Build failed with 1 errors and 0 warnings...
|
Setze ich dann für "ipwm" eine natürliche Zahl ein, wird fehlerfrei
compeliert.
Vielen Dank für Eure Hilfe!