单片机 程序如何优化

单片机 程序如何优化,第1张

如果用的是C语言的话,有几点可以进行参考:

1 尽量减少全局变量,除非确实有必要,否则数据可以通过函数进行传递

2 赋值的时候用移位符代替'=',这样表面看来没有什么区别,但是当编译之后你就会发现移位符比'='执行效率要高

3 给程序加注释,提高可读性

1.肯定的,嵌套越多,要压栈保存的信息就越多,占用的RAM就越多了,对51来说,最多就是CPU内256字节的RAM。

2.是的。

3.没用过这芯片……我用的最多的是AVR

4因为你定义了一个pagebuf[512],512字节啊!51单片机的data撑死才256字节(还没算压栈保存数据需要的RAM),所以编译器自动将这个数组放在了XDATA中。

1、程序优化:

①、将固定的代码数组等,存到ROM。(51单片机用 code表示存到 ROM)

②、压缩多余缓冲区,如数组长度根据需求来定。不要直接a[100]一棍子打死。

③、合理分配变量数据类型,如计数值在0-100内的数,就没必要用 uint 了,使用 uchar 就够了。只要两个状态的标志位,用 bit 就行了,不要直接 uchar。

④、可以用逻辑运算的,就不要采用算术运算。如 a/8,可以写成 a>>3,当然 a不是浮点型数据才行。而a*2则是 a<<1;而a%4,可以写成 a&0x03;

……

……

……

2、扩大RAM

①、买个同系列高RAM区间的单片机。

②、买个同系列高RAM区间的单片机。

③、买个同系列高RAM区间的单片机。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7811100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存