收藏 分享(赏)

宏指令使用说明.pdf

上传人:精品资料 文档编号:10685989 上传时间:2019-12-28 格式:PDF 页数:9 大小:429.06KB
下载 相关 举报
宏指令使用说明.pdf_第1页
第1页 / 共9页
宏指令使用说明.pdf_第2页
第2页 / 共9页
宏指令使用说明.pdf_第3页
第3页 / 共9页
宏指令使用说明.pdf_第4页
第4页 / 共9页
宏指令使用说明.pdf_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、 1 / 9 威纶通触摸屏宏指令使用说明 一、 宏指令的结构一般为以下格式 全局变量声明 可选 Sub Function Block Declarations(子函数声明)可选 局部变数声明 End Sub(结束子函数) macro_command main() 主函数必须 局部变数声明 各式语句 end macro_command 结束主函数 必须 一个宏指令必须有一个且只有一个主函数,用来开始宏指令的执行。格式为: macro_command函数名称() end macro_command 双斜线“/“ 代表程序批注,在它后面的文字不会被执行。 二、宏指令的语法 常数:常数是一个可以被各式

2、语句直接使用的固定的资料。有如下格式: 下面即为一个简单的常数使用的范例。 macro_command main() short A, B / 声明A 和B 为短整型变数 A = 1234 B = 0x12 / 1234 和0x12 即为常数 end macro_command 变数:变量是一个代表着各种资料的名称。在宏指令中,这些资料可以随着宏指令语句执行 的结果改变而改变。 必须以英文字母开头。 变量名称长度不超过32 个字符。 系统保留寄存器名称不能作为变量名称。 下面为8 种不同的变量类型,前5种为有号数值类型,后3种为无号数值类型: 变数声明:变量必须在使用前声明。所以,在宏指令,所

3、有的变量都必须在语句使用前都被 2 / 9 声明完成。声明变量时,先定义变量的类型,后面再跟着变量名称。 如下范例: int a shortb, switch floatpressure unsigned short c 数组声明: 宏指令支持一维数组(下标从0 开始)。 声明数组变量时, 先定义数组变量的类型, 变量名称,接着就是该数组变量的个数,变量个数必须放置在“”符号中。数组变量的 长度为1 4096。一个宏指令中最多只支持4096 个变量。 如下范例: int a10 shortb20, switch30 floatpressure15 数组的下标最小为0,最大下标为(数组的长度-1

4、) 如下范例: char data100 / 数组变量的长度是100 所以: 最小的数组为“data”0”,最大的数组为“data”99”,即100 1 = 99。 变量和数组初始化 有两种方法可以让变量初始化: 使用语句中的赋值语句(=) 如下范例: int a float b3 a = 10 b0= 1 声明变量时直接赋值 char a = 5, b = 9 数组变量的声明是一个特殊的情况。一个完整的数组被初始化时,可以在数组变量声明时, 将数据放置在波形括号“”里面,各数据使用逗号分开。 如下所示: float data4= 11, 22, 33, 44 / 这样data0= 11, d

5、ata1= 22. 3 / 9 三、运算符号 上述所有运算符号的优先权从高到低详细如下所述: 4 / 9 1. 位于圆括号里面的运算符号最优先 2. 数学运算符号 3. 移位和位运算符号 4. 比较运算符号 5. 逻辑运算符号 6. 赋值运算符号 四、语句 定义语句: 这个定义语句包含了变量和数组的声明。正式的格式如下: 定义一个变量的名称为“名称“且类型为“类型“。 举例: int A /定义了变量A为双整型格式 定义一个数组变量为“名称“,大小为“数组长度“且类型为“类型“时。 举例: int B10 /定义了一维数组变量B的长度为10,类型为双整型 赋值语句: 赋值语句使用赋值运算符号将

6、赋值运算符号右边表达式运算的结果放置到运算符号左边的 变量中。一个表达式是由变量、常数和各种运算符号组成,执行后产生一个新的数据。 举例: A = 2 /这样变量A就被赋值为2 逻辑运算语句:逻辑运算语句是根据逻辑(布尔) 表达式的结果来执行相应的动作。它的语 句如下所示: 单行格式 If then Statements else Statements end if 举例: if a = = 2 then b = 1 else b = 2 end if 区块格式 If then Statements else if then Statements else Statements end if

7、举例: if a = 2 then b = 1 else if a = = 3 then b = 2 else b = 3 end if 语法描述 5 / 9 if 必须用在该语句的开始部分。 必要条件。这是一个控制语句。当 为0时,即为 “FALES”,(条件为假);当 为非0时,即为 “True”(条件为真)。 then 当 执行为“TRUE” (真) 时,必须放置在需要执行 的语句之前。 Statements 在区块形式中是可选择的参数,在单行形式中,且没有else子句 时,为必要参数,该语句在 为真时执行。 else if 可选,一条或多条语句,在相对应的 为true时 执行。 可选,

8、解释同Condition else 可选,在上述Condition 和Condition n 都不为true 时执行。 end if 必须。在一个if-then 语句中使用这个来结束if-then 语句。 多重判断语句 Select-case 可用来处理多重判断的叙述, 其功能类似if-else 语句。 根据所指定变量的值, 分别对应到符合该值的case,并执行case 下面的叙述,直到遇到break 叙述时,才跳到结 束符号end select 处。语法结构如下: 没有预设case 的形式: Select Case variable Case value Statements break e

9、nd Select 举例: Select Case A Case 1 b=1 break end Select 有预设case 的形式: Select Case variable Case value Statements break Case else Statements break end Select 举例: Select Case A 6 / 9 Case 1 b=1 break Case else b=0 break end Select 多个不同case对应到相同区块: Select Case variable Case value1 Statements Case value2

10、 Statements break end Select 举例: Select Case A Case 1 Case 2 b=2 Case 3 b=3 break end Select 语法描述 Select Case 必须用在该语句的开始部分。“variable” 必要条件。此变量将会与每一个case 做比较。Case else 可选。代表预设case。当“variable” 的值不符合任何一个case时, 将会执行此叙述下面的区块。在没有预设case 的情况,当 “variable” 的值不符合任何一个case 时,将不会做任何动作而直 接跳出select 控制结构。 break 可选。跳

11、到某一个case 下面执行时,将一句一句执行case 语句下面的 叙述直到遇到break 命令才结束,并跳到end select 叙述。当case 叙 述下面没有任何break 命令时,流程将不断往下执行,直到遇到end select叙述,才结束并跳出select 控制结构。 end Select select-case 语句的结束标志。 循环语句 循环语句依据循环条件来反复的执行一个任务。循环语句有两种表达方式。 for next 语句 For-next 语句通常用来执行次数固定的循环任务。一个变量用作为任务执行次数的计数器 7 / 9 和结束循环任务执行的条件。这个变量为固定执行的次数。语

12、法结构如下: for Conunter = to step Statements nextCounter 或者 for Conunter = downstep Statements nextCounter 举例: for a = 0 to 10 step 2 b = a next a 语法描述 for 必须用在该语句的开始部分。Counter 必要,循环计数器的数值变量,该变量的结果用来计数循环的次数。必要,Counter 的初值。to/down 必要。用来决定步长是递增还是递减。 “to” 以 为步长递增 “down” 以 为步长递减必要,Counter 的终值、测试点。当 大于该值时,宏指

13、令 将结束这个循环任务。 step 可选,指定 的步长,指定为1 以外的数值。 StepValue 可选,Counter 的步长,只能是数值,如果没有指定,则预设为1。 Statements 可选, for 和next 之间的语句区块, 该语句区块将执行所指定的次数。next 必须的。 Counter 可选 While-wend 语句 While-wend语句是用来执行不确定次数的循环任务。设置一个变量用来判断结束循环的条 件。当条件为“True”时,该语句将一直循环执行直到条件变为“False”。语法结构如下: while Statements Wend 举例 while a 10 a =

14、a + 10 wend 语法描述 while 必须用在该语句的开始部分。continue 必要条件。这是一个控制语句。当为“True” 时,开始执行循环 命令,当为“False” 时,结束执行循环命令。 8 / 9 return value 当判断为“TRUE” 时,继续执行循环命令wend While-wend 语句的结束标志。其他控制命令 break 用在for-next 和while-wend 语句中。当遇到此语句时,立即跳到 语句的结束部分。 continue 用在for-next 和while-wend 语句中。当遇到此语句时,立即结束 当前循环命令而开始执行下一个循环命令。 ret

15、urn 可用在自订function 的回传值叙述。写在主函数里面时,用来强 制跳出主函数。 子函数 使用子函数可以有效的减少循环命令的代码,子函数必须在使用前被定义,且可以使用任何 变量和语句类型。在主函数中,将子函数的参数放置在子函数名称后面的圆括号中,即可调 用子函数。子函数被执行后,将执行后的结果返回到主函数需要的赋值语句或者条件中。定 义子函数时,不一定要有返回值,且参数部分可以为空。在主函数中调用子函数时,调用方 式应符合其定义。语法结构如下: 有返回值的子函数语法 sub type (parameters) Local variable declarations Statement

16、s returnvalue end sub 举例: sub int Add(int x, int y) int result result = x +y return result end sub macro_command main() int a = 10, b = 20, sum sum = Add(a, b) end macro_command 或: sub int Add() int result, x=10, y=20 result = x +y return result end sub macro_command main() int sum sum = Add() end m

17、acro_command 9 / 9 没有返回值的子函数语法 sub (parameters) Local variable declarations Statements end sub 举例: sub Add(int x, int y) int result result = x +y end sub macro_command main() int a = 10, b = 20 Add(a, b) end macro_command 或: sub Add() int result, x=10, y=20 result = x +y end sub macro_command main()

18、 Add() end macro_command 语法描述 sub 必须用在该子函数的开始部分。 type 可选。用来定义子函数执行后返回的数据类型。子函数也可以不回传 任何值。 (parameters) 可选。这些参数保留了从主函数传入的数值。这些被传入的参数必须 使用与在参数变量声明的类型一致。 举例:sub int MyFunction(int x, int y). x 和y 必须为从主函数 中传过来的双整型数据格式的数据。调用此子函数的语句格式大致为 这样:ret = MyFunction(456, pressure),其中pressure 需为双整 型数据格式方符合子函数参数变量的声

19、明。 请注意调用语句的参数部分可以是常数也可以是变量。当执行这个子 函数后,一个双整型数据将会返回给变量“ret”。 Local variable declaration 除了被传递的参数之外,子函数中使用的变量必须事先声明。在上面 的“举例”中,X 和Y就是子函数可以使用的变量。全局变量也可以 用在子函数中。 Statements 需要执行的语句。 return value 可选。用来将执行的结果返回给调用语句。这个结果可以是一个常 数或者变量。返回后同时也结束了子函数的执行。子函数也可以不 回传任何值,但是当type 部分有定义时,则必须加上此return 叙 述。 end sub 必须的。用来结束子函数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报