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.
Hi, I have the following code #define FT_RESOLUTION_NS 240 #define US_2_FT_TICKS(x) (((x) * 1000)/FT_RESOLUTION_NS) values calculated with US_2_FT_TICKS where the x * 1000 bit overflows 16 bits are incorrect. Is there any way round this? If not this must be the first assembler I have ever seen that does not perform 32 bit constant arithmetic, and most of the do floating point as well.
Hi Simon, This should do the trick (1000.L) #define FT_RESOLUTION_NS 240 #define US_2_FT_TICKS(x) (((x) * 1000.L)/FT_RESOLUTION_NS) -Walt
Actually, this should work too. #define US_2_FT_TICKS(x) (((x) * 1000L)/FT_RESOLUTION_NS) -Walt