额外语法特性

由于单片机程序的特殊性,单片机语法与轻语言标准语法略有不同。

轻语言目前支持编写 ESP32 芯片的程序。

底层语言为 C++ ,也就是轻语言编写的代码最终会转译成 C++ 代码、再调用相关编译工具链进行编译。

宏定

单片机语法中新增了一个 宏定 关键字、熟悉C++编程的朋友,应该听说过 宏定义 ,宏定关键字的作用就等于宏定义,主要用于在编写代码时,定义预编译时常量值,通过 宏定义 声明的变量,在编译时会将代码中的变量替换成常量值。

对象实例化

在编写单片机程序时,创建组件的实例对象,不能使用 创建 关键字,只能在定义时构建。

示例:

' 在定义变量时同时通过指定构造参数实例化对象
' 下方变量相当于是定义了一个端口为80的服务器对象
变量 服务器1 为 服务器(80)
' 定义使用指定参数构建的OLED显示器变量
变量 Oled显示1 为 OLED显示器(128,64,&Wire,-1)

注册回调事件

轻语言标准语法中,支持 3 种回调事件,但单片机中仅支持:子程序引用 这一种。

同时在引用子程序地址时,需要使用 & 符号链接待使用的子程序。

但在单片机中,不能使用 & 符号,直接使用函数名称即可。

示例:

' 定义时钟对象、用于循环执行任务
变量 时钟1 为 时钟

事件 程序被启动()
	初始化串口通信(115200)
    调试输出("程序被启动")
    ' 调用时钟1每1秒执行一次任务
    时钟1.开始任务(1,时钟1任务)
结束 事件

变量 时钟1计次 = 0

函数 时钟1任务()
    时钟1计次 = 时钟1计次 + 1
    调试打印("时钟1计次:")
    调试输出(时钟1计次)
结束 函数

上方代码中:

时钟1.开始任务(1,时钟1任务)

调用开始任务中的参数二即为执行任务的周期事件子程序,这里无需使用 & 符号链接,直接使用函数名称即可。

其它

除上述三个额外语法特性外,单片机其它语法与轻语言标准语法完全一致。