makefile使用宏及用法$(宏标识符) $(cc)_“偷个懒”,"宏"在Arduino写代码时可以这样用...

"宏"在Arduino写代码时的几种用法

在编写代码时,一些变量的值、或者寄存器的地址我们是不方便记忆的,但如果我们以特定的标识符来指向它们,那么就可以方便代码编写了。如下代码中,以特定的标识符来替代MPU6050陀螺仪中的各寄存器地址:

2fc545091f5ecf9af0874b9f8977fd48.png

例如"MPU6050_RA_GYRO_XOUT_H"这个标识符就代表了"0x43"这个地址,虽然标识符较长,但也是便于记忆的,我们只要记住"MPU6050陀螺仪X轴输出高位"很快就可以记住这个标识符,但如果我们要记住地址的话,是比较困难的,这么多地址的值对应着不同的功能,是很难记忆的。所以巧妙地使用宏定义,是可以提高代码编写效率的。下面,我们以控制13号引脚的LED为例,来看看宏的使用。

假设在我们的项目中,LED控制将在很多子函数中进行,并且13号引脚控制LED的方式有高电平点亮及低电平点亮之分,那么我们如何才能做到同一个程序只需做很小的改动就能适应两种硬件系统呢?宏可以很好地解决这个问题。

b1529f8372ffcdbb650c0ae76ed8629a.png

在以上例程中,分别以ON及OFF分别对应0和1,而具体的对应规则则由开头的宏来决定,我们只要通过选择开头的宏,就可以实现不同控制逻辑,而在下面的程序中,什么都不用改。下面再看一个例程,直接用标识符代替"LED_ON"及"LED_OFF"来替代"digitalWrite()"指令,在后面的程序中只要写LED_ON就可以将LED点亮。

f686ca60754cfba8a1783e6d07faa267.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值