你好,我调试程序时发现如下两行代码生成的文件大小有2K左右的区别, MSP430编译器不会先把常量计算编译时先计算好,在链接时字节使用吗? 记的以前用keil C51时如下2行是没有问题的。
//注意:下面2行代码导致的代码体积变化明显
//ucRow = (unsigned char)(sin(usI*3.14159*4/127)*20+32);
ucRow = (unsigned char)(sin(usI*0.0989478)*20+32);
多谢大家了。我用的MSP430G2553,16K空间有点紧张了。
另外发现使用三角函数也会使代码体积剧增(10K左右),大家一般是如何处理的呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
msp430和51单片机一样,要尽量避免直接进行大量的浮点数计算的。
有些msp430带硬件乘法器,如果有硬件乘法器的话尽量使用硬件乘法器进行浮点数计算吧。尽量使用对msp430优化过的数学库(ti官网有库文件)。
另外,如果对这两个行代码的计算时间没有太大限制的话,可以尝试调整编译时的优化选项。
表情里面没有大拇指,哈哈,确实,我一般都是用最高优化,然后选择平衡,不过副作用就是有时候调试的时候有的地方断点进不去,
断点进不去是被优化掉了吧
是的
一周热门 更多>