本帖最后由 xurenhui 于 2017-1-4 16:21 编辑
1.芯片是STM8S003K3
2.编译软件是IAR 6.3.16版本
3.如:Timer_Suffer[1] = Get_value/1000;//取整数 ---------------该方法大概占用12个字节,采用高级优化
Timer_Suffer[2] = Get_value%100%10;//------------------该方法占用16个字节,采用高级优化
4.有什么简单点算法,使占用flash小一点,运算速度慢一点都没有关系,感觉自己种方法太笨拙了。
5.现在发现空间不够,所以希望大家给点建议,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
试下这样会不会省几个字节?
temp = Get_value;
Timer_Suffer[1] = temp%10;
temp/=10;
Timer_Suffer[2] = temp%10;
temp/=10;
Timer_Suffer[3] = temp%10;
分析很正点,谢谢
对于有硬件除法器的单片机来说,不是这样的。
你好
temp = Get_value;
Timer_Suffer[1] = temp%10;
temp/=10;
Timer_Suffer[2] = temp%10;
temp/=10;
Timer_Suffer[3] = temp%10;
上面这样算法Timer_Suffer[3] 与Timer_Suffer[2] 的值是一样的吧
你实际验证一下代码是否减小,我没有去验证。
不一样,中间执行了一次 temp/=10;
一周热门 更多>