14
135
405
资深技术员
第一种:使用宏定义 #define BspGPIO_Led_On() GPIO_SetBits(GPIOA, GPIO_Pin_0) 第二种:函数 void BspGPIO_Led_On(void) { GPIO_SetBits(GPIOA, GPIO_Pin_0); }
使用特权
15
147
441
75
695
2090
初级工程师
12
139
411
11
172
516
高级技术员
108
325
20
113
333
10
167
501
会飞的大白 发表于 2015-12-9 20:31 宏定义就是在代码中直接进行替换,如果你的main中有10个BspGPIO_Led_On(),就等同于有10个GPIO_SetBits(GPI ...
yyj8902 发表于 2015-12-10 21:16 函数调用需要进行压栈操作,运行结束之后还需要出栈,返回原来的函数继续运行,但GPIO_SetBits(GPIOA, GPIO ...
61
469
1466
助理工程师
nobleliom 发表于 2015-12-13 19:39 用宏定义有另外一个问题,就是如果将宏编译成库,那这个宏的实体也会被编译进去,导致无法修改,举例说 你 ...
92
276
中级技术员
布拉格梦语 发表于 2015-12-12 22:48 在楼主这个例子中,使用宏定义会好一点:只有一个语句,如果是经常被调用,可以减少压栈出栈的时间,运行效 ...
473
7517
2万
技术总监
220
5843
1万
资深工程师
goodluck09876 发表于 2016-3-21 21:36 学习了! 宏定义吧!
发表回复 本版积分规则 回帖后跳转到最后一页
人才类勋章
时间类勋章
发帖类勋章
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号