MDK不仅提供了文本界面编辑初始化代码的方式,同时也提供了图形化编辑初始化代码的方式。其图形化界面由一组脚本来控制。该脚本类似与网页的HTML语言脚本,但是要简陋的多。
该脚本的执行不能影响程序的编译,所以该脚本隐藏于注释当中。对于C语言程序,每行必须以“//”开头;而对于汇编语言则需要以“;//”开头。
该脚本常用的标签有如下几个(我自己总结出来的,不一定代表其所有的功能):
<h>…</h> 分支定义标签,在<h>和</h>中包含的项将会出现在一个分支上,可以嵌套。
<e>…</e> 带有使能的分支定义标签,在<h>标签的基础上增加了选择框,可用来决定当前分支是否可用。同岁可用将选择标签传递给一个数据。可以嵌套,同时<e>标签和<h>标签也可以相互嵌套,没有任何限制。后面带有数字的时候表示其所影响的数字顺序。
<i> 信息标签,目前我理解的是用来在鼠标移动到选项上时给出提示。还没发现其他的功能。
<o> 位编辑标签。可用用选择框(编辑1位)或者列表框(多位)来编辑数据中的一位或者连续的几位。格式为:<on.x..y>,n确定其所影响的数字顺序,x和y确定所影响的位顺序,两点表示范围,从x位到y位。如果只有一位,则写成<on.x>即可。
<n=> 当使用了<o>标签来编辑多位的时候,用此来说明具体选项所代表的数字
例如:
// <e0> 系统时钟配置
// <h> 时钟控制寄存器设置(RCC,RCC2)
// <o1.11..13> 系统时钟来源
// <i> Default: USE OSC
// <0=> USE PLL
// <0x7=> USE OSC
// <o2.4..6> 芯片时钟来源
// <i> Default: Main OSC
// <0x0=> Main OSC
// <0x1=> Int OSC
// <0x2=> Int OSC/4
// <0x3=> Int 30KHz
// <0x7=> Ext 32KHz
// <o1.16..31> 锁相环分频系数
// <i> Default: 64
// <0x0780=> 1
// <0x00C0=> 2
// <0x0140=> 3
// <0x01C0=> 4
// <0x0240=> 5
// <0x02C0=> 6
// <0x0340=> 7
// <0x03C0=> 8
// <0x0440=> 9
// <0x04C0=> 10
// <0x0540=> 11
// <0x05C0=> 12
// <0x0640=> 13
// <0x06C0=> 14
// <0x0740=> 15
// <0x07C0=> 16
// <0x8840=> 17
// <0x88C0=> 18
// <0x8940=> 19
// <0x89C0=> 20
// <0x8A40=> 21
// <0x8AC0=> 22
// <0x8B40=> 23
// <0x8BC0=> 24
// <0x8C40=> 25
// <0x8CC0=> 26
// <0x8D40=> 27
// <0x8DC0=> 28
// <0x8E40=> 29
// <0x8EC0=> 30
// <0x8F40=> 31
// <0x8FC0=> 32
// <0x9040=> 33
// <0x90C0=> 34
// <0x9140=> 35
// <0x91C0=> 36
// <0x9240=> 37
// <0x92C0=> 38
// <0x9340=> 39
// <0x93C0=> 40
// <0x9440=> 41
// <0x94C0=> 42
// <0x9540=> 43
// <0x95C0=> 44
// <0x9640=> 45
// <0x96C0=> 46
// <0x9740=> 47
// <0x97C0=> 48
// <0x9840=> 49
// <0x98C0=> 50
// <0x9940=> 51
// <0x99C0=> 52
// <0x9A40=> 53
// <0x9AC0=> 54
// <0x9B40=> 55
// <0x9BC0=> 56
// <0x9C40=> 57
// <0x9CC0=> 58
// <0x9D40=> 59
// <0x9DC0=> 60
// <0x9E40=> 61
// <0x9EC0=> 62
// <0x9F40=> 63
// <0x9FC0=> 64
// <o1.4..10> 外部时钟频率
// <i> Default: 6MHz
// <0x00=> 1MHz
// <0x04=> 1.84MHz
// <0x08=> 2MHz
// <0x0C=> 2.45MHz
// <0x10=> 3.57MHz
// <0x14=> 3.68MHz
// <0x18=> 4MHz
// <0x1C=> 4.09MHz
// <0x20=> 4.91MHz
// <0x24=> 5MHz
// <0x28=> 5.12MHz
// <0x2C=> 6MHz
// <0x30=> 6.14MHz
// <0x34=> 7.37MHz
// <0x38=> 8MHz
// <0x3C=> 8.19MHz
// <0x40=> 10MHz
// <0x44=> 12MHz
// <0x48=> 12.2MHz
// <0x4C=> 13.5MHz
// <0x50=> 14.3MHz
// <0x54=> 16MHz
// <0x58=> 16.3MHz
// <o1.0> 禁用主振荡器
// <i> Default: Main_OSC Disable
// <o1.1> 禁用内部振荡器
// <i> Default: Int_OSC Disable
// </h>
// </e>
#define __CLOCK_SETUP 1
#define __SYSCTL_BOTH_RCC 0x07803AC0
#define __SYSCTL_ONLY_RCC2 0x00000000
这个示例中前面提到的标识全都用到了,还有其他一些标识,但我从没有见过其用法,比如q,从帮助文件看来,我觉得和o的用法差不多,可能只是o的一个简化版本。反正我从来没见别人用过,就不做介绍了,总之,上面这些已经足够我们来编辑这个界面了。
[
本帖最后由 柳叶舟 于 2011-1-22 12:43 编辑 ]