请教 这行C程序 如何理解

[复制链接]
4903|9
 楼主| itelectron 发表于 2014-7-20 07:07 | 显示全部楼层 |阅读模式
本帖最后由 itelectron 于 2014-7-20 07:31 编辑

changeRegBits(reg, mask)                                (reg ^= (mask))





#define Flash_Busy(Block) ((bool)( (getRegBit(FMUSTAT,CCIF)) ? (changeRegBits(FMCR, 3), ((getRegBit(FMUSTAT,CCIF)) ? (changeRegBits(FMCR, 3), FALSE) : (changeRegBits(FMCR, 3), TRUE))) : (TRUE)))
 楼主| itelectron 发表于 2014-7-20 07:15 | 显示全部楼层
#define Busy(Block) (
                      (bool)
                      (
                        (getRegBit(FMUSTAT,CCIF)) ?
                        (
                          changeRegBits(FMCR, 3),
                          (
                            (getRegBit(FMUSTAT,CCIF)) ?
                            (changeRegBits(FMCR, 3), FALSE) :
                            (changeRegBits(FMCR, 3), TRUE)
                          )
                        ): (TRUE)
                      )
                    )
 楼主| itelectron 发表于 2014-7-20 07:18 | 显示全部楼层
本帖最后由 itelectron 于 2014-7-20 07:24 编辑

#define Busy(Block) (
                      (bool)
                      (
                        (getRegBit(FMUSTAT,CCIF)) ?
                        (
                          changeRegBits(FMCR, 3),
                          (
                            (getRegBit(FMUSTAT,CCIF)) ? (changeRegBits(FMCR, 3), FALSE) : (changeRegBits(FMCR, 3), TRUE)//这行??
                          )
                        ): (TRUE)
                      )
                    )
 楼主| itelectron 发表于 2014-7-20 07:22 | 显示全部楼层
本帖最后由 itelectron 于 2014-7-20 07:24 编辑

#define xxx (getRegBit(FMUSTAT,CCIF)) ? (changeRegBits(FMCR, 3), FALSE) : (changeRegBits(FMCR, 3), TRUE)//请教这行


#define Busy(Block) (
                      (bool)
                      (
                        (getRegBit(FMUSTAT,CCIF)) ? (changeRegBits(FMCR, 3),(xxx)): (TRUE)//请教这行
                      )
                    )
 楼主| itelectron 发表于 2014-7-20 07:28 | 显示全部楼层
本帖最后由 itelectron 于 2014-7-20 07:34 编辑

请教 这行程序 是 不是  续 FMUSTAT的CCIF位    也就是把( FMUSTAT的CCIF位)   传递给(FMCR, 3)

实现位的传送
msblast 发表于 2014-7-20 09:42 | 显示全部楼层
第一次见到宏给定义成这样,不提倡这样写。
ayb_ice 发表于 2014-7-20 10:38 | 显示全部楼层
宏带参数居然没有使用

还不如用函数实现
zyj9490 发表于 2014-7-20 13:34 | 显示全部楼层
你是纯性让人看不明白吗?如孔已能写几个茴香豆的事一样,小聪明而已,要智慧才对。
王七七 发表于 2014-7-20 14:46 | 显示全部楼层
楼主的头像,。。。让我晕了
 楼主| itelectron 发表于 2014-7-24 20:38 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:MARK: zhi kan ji shu

274

主题

2761

帖子

8

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