During development I found that I was subtracting two integer type variables and putting the result in a long type, my experience is the compiler will either complain or just cast it. I found that if I took the result and defined it as an int it would work, BUT if I typecast the result from int to long to be passed to the long version, it would break without saying there was an Error or Warning (or Info).
Is this the expected bahaviior? Why does CCS not flag it?
The reality is that the motor control loop i am development ends up with wrong result (the difference value) and does not work.
I suggest you read this app note. It describes the proper way to perform a 16x16 to 32 multiply. That may not be the exact problem you have. But, at a conceptual level, I think it is close enough.
Thanks and regards,
TI C/C++ Compiler Forum ModeratorPlease click Verify Answer on the best reply to your questionThe CCS Youtube Channel has short how-to videosThe Compiler Wiki answers most common questionsTrack an issue with SDOWP. Enter your bug id in the "Find Record ID" box.
In reply to George Mock:
In reply to DerekG:
Are you perhaps using MSP compiler version 4.0.1?
I'm having trouble picturing the failure scenario for subtraction. Could you post a compilable test case where the compiler does not behave as you want it to?
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.