We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I get strange behaviour with integer conversion; in the following example T4Frozen never reaches the value 790 because it turn back to 700 when it step over 767. This happen both on the target and on Dscope.
T4Frozen=700; while(TRUE){ PeriodoEncoder=(float)T4Frozen; PeriodoEncoder/=2.5; T4Frozen++; if(T4Frozen>790){ Dummy=700; } }
We use floats into main and 2 ISRs, and so I'm really worried about: Aside from the fact that any operation on a float ... involves calls to library functions which I would guess are not reentrant This is much more difficult to manage than data consistence. We can't disable interrupts (or at least one of them) so we are trying to use integers where it is possible, and could be hard work. Any other way could be dangerous. Thanks a lot
Alfredo, Please note that I do not know whether the FP library functions are reentrant or not. You need to check the manuals or check with Keil if the info isn't there. Stefan
We have posted a technical request directly to keil because the problem is still active and we are thinking that it is binded in some way to floating point library. Strained all the gnats but still swallowing the camel! Thanks again