Freescale单片机能否象下面程序那样进行位定义
 
- UID
- 104631
- 性别
- 男
|
你是说汇编宏定义?
一般在Codewarrior中可以这样定义
比如关继电器
Close_Delay: MACRO
clr 1,PTB
ENDM
在CW help里面搜索宏可以得到相关帮助 |
|
|
|
|
|
 
- UID
- 104631
- 性别
- 男
|
我明白你的意思,只是我引的例子给你了错觉
在CW中,没有和你最上面一模一样的方式,但是可以通过宏定义等方式来做相同的功能
比如你对PTA口的5,6,7bit做了这个定义,希望用CLR JDQ_OUT1 这个语句来进行一个关的操作
JDQ_OUT1 EQU PA.5
D164_SDA EQU PA.6
D164_CLK EQU PA.7
在CW中可以通过如下方式来做
JDQ_OUT1 EQU PTAD_PTAD5
D164_SDA EQU PTAD_PTAD6
D164_CLK EQU PTAD_PTAD7
然后定义宏
CLR_BIT: MACRO
bclr \1,PTAD
ENDM
在程序中可以如下操作
CLR_BIT JDQ_OUT1
这完全可以等同于你原先的例子 |
|
|
|
|
|
 
- UID
- 104631
- 性别
- 男
|
macro就是表示定义一个宏,在codewarrior中写入的话自动会显示蓝色,表示宏定义。
\1,就表示宏中的一个参数,置位的方式就是你写的那种。
这个在CodeWarrior中是支持的,可以查看codewarrior相关的使用帮助。 |
|
|
|
|
|