首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Freescale单片机能否象下面程序那样进行位定义

你是说汇编宏定义?

一般在Codewarrior中可以这样定义
比如关继电器

Close_Delay: MACRO
clr 1,PTB
ENDM

在CW help里面搜索宏可以得到相关帮助
我明白你的意思,只是我引的例子给你了错觉
在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

这完全可以等同于你原先的例子
macro就是表示定义一个宏,在codewarrior中写入的话自动会显示蓝色,表示宏定义。
\1,就表示宏中的一个参数,置位的方式就是你写的那种。
这个在CodeWarrior中是支持的,可以查看codewarrior相关的使用帮助。
返回列表