C语言单片机程序提高代码效率的几种方法

代码效率包括两个方面内容:代码的大小和代码执行速度。如果代码精简和执行速度快,
我们就说这个代码效率高。一般情况下,代码精简了速度也相应提上来了。单片机的 ROM
RAM 的空间都很有限,当编程时遇到单片机的 ROM RAM 的不够用的时
候,或者程序要求较高的执行速度时,我们就得面对解决代码效率问题了。
 
提高代码效率的几种方法:
 
一、尽量定义局部变量
单片机程序的全局变量一般是放在通用数据存储器( RAM )中,而局部变量一般是放在特殊
功能寄存器当中。处理寄存器数据的速度比处理 RAM 数据要快,如果在一个局部函数里调
用一个全局变量将会多生成好几个代码出来。所以,少定义全局变量,多定义局部变量。
 
二、 改换运算符
通过改换运算符能达到精简代码的例子有:
1. 把求余运算表达式改为位与运算表达式。如: b=a%8 可以改为: b=a&7
2. 把乘法运算表达式改为左移运算表达式。如: b=a*8 可以改为: b=a<<3
3. 把除法运算表达式改为右移运算表达式。如: b=a/8 可以改为: b=a>>3
通过将乘除运算符更改为左移、右移运算符,可以提升程序的运行效率。
 
三、选择合适的数据类型
C 语言里选择变量的数据类型很讲究,变量的数据类型过小满足不了程序的要求,变量的数
据类型过大会占用太多的 RAM 资源。数据类型定义也影响程序代码的 大小。
如果把变量由 unsigned int 改成 unsigned char 。编译后,程序代码会 精简4 个字节。
 
四、直接嵌入代码
在程序里如果某个函数只调用一次,而又要求代码提高执行速度,建议不要采用调用函数的形式,
而应该将该函数里的代码直接嵌入主调函数里,代码执行效率会大大提 高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WangLanguager

您的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值