端口(串口)缓冲源码
.版本 2
.程序集 端口缓冲类, , 公开
.程序集变量 集_数据缓冲区, 字节集, , , 4
.程序集变量 集_已缓冲长度, 整数型, , , 8
.程序集变量 集_事件字符数据, 字节集, , , c
.程序集变量 集_反馈指针, 子程序指针, , , 10
.程序集变量 时钟周期, 字节集, , , 14
.程序集变量 集_超时返回时间, 整数型, , , 18
.程序集变量 集_已累计时间, 整数型, , , 1c
.程序集变量 集_时钟ID, 整数型
.子程序 取消时钟事件, , 公开, 取消一个时钟事件
.参数 时钟ID, 整数型
API_KillTimer (0, 时钟ID)
.子程序 置时钟事件, 整数型, 公开, 创建一个时钟事件,并返回一个时钟ID
.参数 时钟周期, 整数型, , 单位是ms
.参数 时钟事件子程序, 子程序指针, , 欲执行的时钟事件子程序,不带参数
.局部变量 id, 整数型
id = API_SetTimer (0, 0, 时钟周期, 时钟事件子程序)
返回 (id)
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
.局部变量 时钟指针, 子程序指针
时钟周期 = { 85, 139, 236, 191, 0, 0, 0, 0, 131, 127, 8, 0, 117, 9, 199, 71, 28, 0, 0, 0, 0, 235, 18, 139, 71, 28, 139, 95, 24, 59, 195, 119, 8, 117, 3, 255, 87, 16, 255, 71, 28, 139, 229, 93, 195 }
置入代码 ({ 139, 93, 8, 139, 27, 139, 67, 20, 131, 192, 8, 137, 69, 252, 137, 88, 4 })
集_时钟ID = 置时钟事件 (1, 时钟指针)
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
.子程序 创建缓冲区, , 公开
.参数 缓冲区大小, 整数型
.参数 反馈指针, 子程序指针
.参数 事件字符, 字节集
.参数 超时返回时间, 整数型, , 单位:毫秒
集_事件字符数据 = 事件字符
集_超时返回时间 = 超时返回时间
集_反馈指针 = 反馈指针
集_数据缓冲区 = 取空白字节集 (缓冲区大小)
集_已缓冲长度 = 0
.子程序 更改超时返回时间, , 公开
.参数 超时返回时间, 整数型, , 单位:毫秒
集_超时返回时间 = 超时返回时间
.子程序 更改事件字符, , 公开
.参数 事件字符, 字节集
集_事件字符数据 = 事件字符
.子程序 缓冲清零, , 公开
集_已缓冲长度 = 0
.子程序 取缓冲数据, 字节集, 公开
.局部变量 n, 整数型
置入代码 ({ 139, 93, 8, 139, 27, 139, 67, 8, 137, 69, 252, 199, 67, 8, 0, 0, 0, 0 })
返回 (取字节集左边 (集_数据缓冲区, n))
.子程序 缓冲, , 公开
.参数 参数_数据字节值, 整数型
.参数 参数_数据缓冲区, 字节集, 参考
.局部变量 收到事件字符, 逻辑型
.局部变量 缓冲区满, 逻辑型
置入代码 ({ 139, 117, 8, 139, 54, 199, 70, 28, 0, 0, 0, 0, 139, 126, 4, 139, 79, 4, 131, 199, 8, 3, 126, 8, 139, 69, 12, 136, 7, 255, 70, 8, 57, 78, 8, 115, 37, 139, 118, 12, 139, 78, 4, 131, 198, 7, 138, 36, 49, 58, 224, 117, 15, 79, 138, 7, 73, 117, 243, 199, 69, 252, 1, 0, 0, 0, 235, 13, 139, 229, 93, 194, 12, 0, 199, 69, 248, 1, 0, 0, 0 })
.判断开始 (收到事件字符)
参数_数据缓冲区 = 取字节集左边 (集_数据缓冲区, 集_已缓冲长度)
集_已缓冲长度 = 0
.判断 (缓冲区满)
参数_数据缓冲区 = 集_数据缓冲区
集_已缓冲长度 = 0
.默认
.判断结束
端口如何缓冲