Hi,
Not easy to explain but I'll gi ve a go.
I programed an atmega328p to read temperature and send it via USART. That
worked fine untill I changed my laptop.
After changing my computer (and therefore reinstalling cross-avr/gcc), then
a part of a function used to read the temperature doesn't work anymore, i.e.
it compiles fine but the atmega doesn't send anything via USART, the program
dumps.
I narrowed down the problem and it seems to be a problem when doing some
calculation in a function:
All variables below are declared as uint8_t
The return statement below causes the program to crash:
return (double) temp_LSB - 0.25 + (double)(count_per_c - count_remain) /
count_per_c;
The return statement below causes the program to crash also:
return (double) temp_LSB - 0.25;
The return statement below is OK:
return (double)(count_per_c - count_remain) / count_per_c;
Since it coincides with a change of computer used to compile the program I
wonder if it could be a missing flag/option for cross-avr/gcc?
Any advice appriciated,
Thank you
--
Jean-Marc
Not easy to explain but I'll gi ve a go.
I programed an atmega328p to read temperature and send it via USART. That
worked fine untill I changed my laptop.
After changing my computer (and therefore reinstalling cross-avr/gcc), then
a part of a function used to read the temperature doesn't work anymore, i.e.
it compiles fine but the atmega doesn't send anything via USART, the program
dumps.
I narrowed down the problem and it seems to be a problem when doing some
calculation in a function:
All variables below are declared as uint8_t
The return statement below causes the program to crash:
return (double) temp_LSB - 0.25 + (double)(count_per_c - count_remain) /
count_per_c;
The return statement below causes the program to crash also:
return (double) temp_LSB - 0.25;
The return statement below is OK:
return (double)(count_per_c - count_remain) / count_per_c;
Since it coincides with a change of computer used to compile the program I
wonder if it could be a missing flag/option for cross-avr/gcc?
Any advice appriciated,
Thank you
--
Jean-Marc