单片机程序

[复制链接]
 楼主| txcy 发表于 2013-6-30 17:34 | 显示全部楼层 |阅读模式
以下是单片机程序,请高手注释解释一下每句话的含义啊

#define SET_LE()         GP4DAT = (GP4DAT | 0x00080000)        //P4.3->LE
#define CLR_LE()         GP4DAT = (GP4DAT & 0xFFF7FFFF)

#define        SET_SCL()         GP4DAT = (GP4DAT | 0x00100000)        //P4.4->SCL
#define        CLR_SCL()         GP4DAT = (GP4DAT & 0xffefffff)

#define SET_DATA()         GP4DAT = (GP4DAT | 0x00200000)        //P4.5->DATA
#define CLR_DATA()         GP4DAT = (GP4DAT & 0xffdfffff)

#define SET_DATA_OUT()        GP4DAT = GP4DAT | 0x20000000;
#define SET_DATA_IN()        GP4DAT = GP4DAT & 0xDFFFFFFF;
秋天落叶 发表于 2013-6-30 17:44 | 显示全部楼层
就是一个宏定义,很好理解啊

#define SET_LE() GP4DAT = (GP4DAT | 0x00080000) //P4.3->LE

看SET_LE()的名字,就是把LE那根线拉高
GP4DAT应该就是映射GP4口的寄存器
(GP4DAT | 0x00080000) 就是把寄存器GP4DAT对应的那位拉高
然后LE那根线就高了

如果楼主是初学,不明白#define可以百度下
yybj 发表于 2013-6-30 18:02 | 显示全部楼层
就是宏定义
代码中碰见SET_LE() 就用GP4DAT = (GP4DAT | 0x00080000)替换就好明白了
无冕之王 发表于 2013-6-30 18:05 | 显示全部楼层
看看C语言语法的 宏定义部分 和 位操作部分 就明白了,很简单的
comeon201208 发表于 2013-7-10 23:02 | 显示全部楼层
这样做非常好的,常用函数先在宏定义中定义好,然后直接引用就比较方便的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部