标题: C语言中这些宏定义改怎样理解? [打印本页]

作者: zcwjzwd    时间: 2020-7-6 22:57
标题: C语言中这些宏定义改怎样理解?
#define        GPIO_PullUp                0        //上拉准双向口
#define        GPIO_HighZ                1        //浮空输入
#define        GPIO_OUT_OD                2        //开漏输出
#define        GPIO_OUT_PP                3        //推挽输出

#define        GPIO_Pin_0                0x01        //IO引脚 Px.0
#define        GPIO_Pin_1                0x02        //IO引脚 Px.1
#define        GPIO_Pin_2                0x04        //IO引脚 Px.2
#define        GPIO_Pin_3                0x08        //IO引脚 Px.3
#define        GPIO_Pin_4                0x10        //IO引脚 Px.4
#define        GPIO_Pin_5                0x20        //IO引脚 Px.5
#define        GPIO_Pin_6                0x40        //IO引脚 Px.6
#define        GPIO_Pin_7                0x80        //IO引脚 Px.7
#define        GPIO_Pin_All        0xFF        //IO所有引脚
        
#define        GPIO_P0                        0               
#define        GPIO_P1                        1
#define        GPIO_P2                        2
#define        GPIO_P3                        3
#define        GPIO_P4                        4
#define        GPIO_P5                        5


作者: 黄youhui    时间: 2020-7-7 08:39
宏定义就是给一些参数取小名取代号。

在stm32里面这些度已经被封装好了,直接调用就可以操作对应的寄存器,完成相关的设置,

51hei截图20200707083417.png (14.79 KB, 下载次数: 50)

51hei截图20200707083417.png

51hei截图20200707083332.png (64.71 KB, 下载次数: 50)

51hei截图20200707083332.png

51hei截图20200707083301.png (7.26 KB, 下载次数: 42)

51hei截图20200707083301.png

作者: wo4fisher    时间: 2020-7-7 08:44
这个主要跟寄存器对应的功能位(前四行)、GPIO引脚对应的寄存器位相关,宏定义是把数值用字符串代替了,阅读编写代码更容易理解,仅此而已
作者: 昆明路口卖提莫    时间: 2020-7-7 09:00
相当于你的小名  其实意思一样   有助于理解好记  ,   也有助于代码移植,下一次直接修改宏定义,不用再整篇代码中修改了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1