8. 指针:
不可自定义指针,但支持用户源程序中的指针变量。
9. dScope命令语句
dScope提供了一系列调试命令。在命令文件中,dScope只支持这些语句及前述定义的表达式,C语言的语句均不被支持,但在命令文件所包含的用户自定义函数(非用户源程序中的函数)中支持C语句,但用户自定义函数中同样不支持数组、结构、联合和指针。
(1) ASM
在线汇编命令,格式如下:
ASM C:0Xnnnn (或标号);设定插入汇编指令的地址
ASM 汇编指令
ASM 汇编指令
插入完毕后,在debug窗口内选择“Assemble->Assemble”完成编译。
(2) Assign
串行口分配指令,格式如下:
Assign channel<unreg>outreg
对MCS51为:Assign Win<SOIN> Soot
但目前的dScope版本并未提供完整串口窗口功能。
(3) Define
用户自定义变量指令,格式如下:
Define <类型> <变量名>
类型一为如前所述的变量类型,Define指令定义的变量可能为全局变量,可为用户自定义函数所引用。
(4) Display
内存显示命令,格式如下二:
D 起始地址,结束地址
地址如前所述的地址常数,标识符常量。
(5) Enter
内存修改指令,格式如下:
E 类型地址=表达式 [表达式2],[……]
类型如前所述,地址如前所述的地址常数。表达式如前所述,但如果是函数名称(含标号、指针变量),则关键字E→EP
(6) Map/Reset map
Map为内存段修改指令,Reset map将内存段复位或缺省值。
(7) Object
用以引用用户源程序中的结构(联合)、数组、格式如下:
Obj表达式 [n,],[Line]
表达式为用户源程序中的数组,结构(联合)名称。当Line缺省时,数目、结构(联合)的内容按n行输出;如有Line,则单行输出。
(8) U
反汇编命令,格式如下:
U [地址]
地址包括地址常 数及标识符常量,指明反汇编的起始地址。
(9) WK
观察点删除命令,格式如下:
WK n1[n2 ],[……] ;删除指定的观察点,n为字符型,整型
常数
WK * ;删除所有的观察点
(10) WS
观察点设置命令,格式如下:
WS 表达式[,n][LINE]
关键字LINE存在时,观察点表达式单行输出
LINE缺省时,观察点表达式n行输出。
(11) G
连续运行命令,格式如下:
G [起始地址],[终止地址]
地址为标识符常量或地址常数,地址缺省时,为连续运行。
(12) T/P
单步运行指令,格式如下:
T/P n ;n指至单行运行的步数,P指给用户当调用某函数时,把它作为一步处理,并不进入该函数运行。
(13) PA
性能分析操作指令,其分以下几种:
PA
显示当前所设置的性能分析程度段
PA Kill *
删除当前所设置的所有性能分析程序段
PA Kill n1 [,n2],[……]
删除指定的性能分析程序段
PA 地址范围
设置性能分析程序段,地址范围可以起始地址和结束地址的方式给出,也可给出函数名,行号范围。
PA Reset
复位性能分析窗口(PA Windows),清除所有的记录。
(14) BD
断点失效命令,格式如下:
BD n1 [,n2],[,……] ;dISAble指定的断点
DB * ;disable所有的断点
(15) BE
断点使能命令,格式如下:
BE M [,n2],[,……] ;使能指定的断点
BE * ;使能所有的断点
(16) BK
断点删除指令,格式如下:
BK M[,n2],[,……] ;删除指定的断点
BK * ;删除所有的断点
(17) BL
断点显示指令,显示所有被定义的断点。
(18) BS
断点定义指令,dScope支持多达40个断点,具体格式如下:
a.BS 表达式[,count] [,“cmd”]
count:经过该断点的次数 [选项]
“cmd”:断点到达后附带执行的dScope命令(连项)
表达式一个条件表达式,此时该断点称为条件断点(运算符为&.&&,<<=>,>=,= =,!=)
BS READ 表达式 [,count] [,“cmd”]
BS WRITE 表达式 [,count] [“cmd”]
BS READWRITE 表达式 [,count] [,“cmd”]
以上三种断点称访问式(ACCess断点),当某一址或变量被访问(R/W)或某些值被读写时,程序被中断。
(19) Define button
图标定义指令,用于当窗口(Toolbox)
(20) !
DOS窗口Open命令,以“EXIT”命令退出DOS窗口。
(21) Include
文件包含命令,格式如下:
Include [路径] 文件名
dScope支持以文件包含的方式调入并执行调试命令文件,用户自定义函数文件,调试命令文件可以有后缀,也可无后缀。
(22) Load
加载命令,格式如下:
Load [路径] 文件名
Load指令能够加载的文件必须具有以下格式之一。
Intel Hex/Hex 386格式
Intel Object (OMF_51) 格式
Intel Object (OMF-251) 格式
dScope的CPU驱动文件(.DLL)
(23) LOG
Command Window存盘指令,用于将Command Windows中的内容输出到指定的文件中,格式如下:
LOG > [路径]文件名 ;创建一个新文件
LOG >> [路径]文件名 ;将Command Windows的内容输出到某个已
存在的文件中。
LOG OFF 完成输出操作并开闭该文件
LOG指令只将LOG>或LOG>>与LOG OFF指令之间的操作命令存入该指定文件。
(24) Reset
复位指令,具体格式如下:
Reset ;执行dScope的复位
Reset Map ;复位外部数据空间
Reset Var ;复位SET指令定义的变量
(25) Save
该指令将一段内存映象以19EX386/HEX的格式存盘,具体格式如下:
Save 路径 文件名:地址1、地址2
地址1、地址2指所要保存的空间范围,既可是标识符,也可是址常数。
(26) SET
该指令回来定义dScope目标代码预定义变量的含义,这些预定义变量包括以下二种:
SRC ;指出所在的路径
F1~F12;对应于键盘上的12个功能键,定义这些功能键的
含义。
SET指令的格式为:
SET 变量=“字符串”
SET 变量
10. 函数
dScope支持三种函数,即dScope预定义函数,用户自定义函数和信号函数,分别详述如下:
(1) dScope预定义函数
dScope号提供8个预定义函数(可视为dScope的库函数)
①Void Printf(“String”,输出表列)
屏幕打印函数,与ANSI C的Printf ( ) 函数相同
②Void exec(“Command__String”)
Command__String为一有效的命令字符串,此函数用于在运行用户自定义函数的过程中执行dScope命令,这个函数提供了一个很重要的编制测试命令文件的方法。
③int getint(“Prompt__String”);从键盘输入一个整数
int getlong (“Prompt__String”);从键盘输入一个长整数
float getfloat (“Prompt__String”);从键盘输入一个浮点数
以上这三个函数被执行时,dScope会弹出一个dialog box等待用户输入数据,其标题栏上是“Prompt__String”,利用这个函数,不仅可以为变量赋值,也可使用户得以看清前一阶段的测试结果。
④int rand (int seed)
该函数会输出一个随机数(-32768~32768)
⑤Void memeset (ulorg start , ulong end ,uchar val)
该函数用于给地址范围(Start__end)内的内存赋值(Val)
⑥Void twatch (Long cycles)
定时函数,时间由(Long cycles)决定,它是以指令周期计数的,它也 用于产生一个信号波形,该函数必须用于信号函数中。
本文关键字:软件 51单片机,单片机-工控设备 - 51单片机