从实现上来说 , middleware和protocol都是一个单独的js文件 , widget是一个文件夹 , 里面通常包含html、css和js文件
目前软件附带了几个中间件示例 , 分别是FF-protocol、savetofile、timeout、drawgraph、characterEncoding 。
FF-protocol:
假设有某数据格式规定:数据帧以0xFF开头、0xFF结尾 , 数据中出现的FF转义为FE 01 , FE转义为FE 00 , 数据末尾增加异或校验和 。decode方法完成的工作包括:检测起始的FF字节 , 然后开始接收数据并进行转义和计算校验和 , 直到接收到尾部的FF , 此时如果校验和正确 , 则把数据传给下一个中间件 。encode方法就是对数据增加头尾FF、转义和加入校验和 , 然后传给下一个中间件 。示例:
56 A2 D3 91==encode== FF 56 A2 D3 91 B6 FF
FF 56 A2 D3 91 B6 FF==decode== 56 A2 D3 91
savetofile:
顾名思义 , 把经过这个中间件的数据保存到文件中 , 并继续传递数据至下一个中间件 。

文章插图
timeout:
如果数据帧没有具体的格式 , 无法判断数据的头尾 , 可以用超时时间来粗略判断帧的结束 。如果等待设定的毫秒数内未再收到数据 , 则把已经收到的数据传给下一个中间件 。注意:计算机的计时并不准确 , 尤其是计算机任务繁重的时候 , 因此选择这个中间件是个下策 。
characterEncoding:
完成字符串编码的转换 , 支持多种编码 , 如UTF8,UTF16,GB18030 , 因此数据发送和接收可以支持各种字符编码 。软件默认的接收和发送采用UTF8编码 , UTF8兼容ASCII , 如果数据中包含ASCII之外的字符 , 则需要注意编码转换问题 。

文章插图
drawgraph:
这是一个窗口扩展 , 可将数据按特定类型提取 , 并画出变化曲线 。其中BE为设置大端模式 , min和max设置绘制曲线时的最小和最大取值范围 , 不设置为自适应范围 。

文章插图
这些仅仅是我写的示例 , 可能是用处并不是很大 , 我的目标其实就是想集成电工们最常用的一些功能、一些协议 , 做成中间件 , 满足电工们的日常需求 。所以 , 坛友们的反馈和建议非常重要 , 能参与到这个项目中更是求之不得 。目前只是搭起了架子 , 后续还会持续改进 。
数据发送
数据发送主要有字符串和十六进制发送两种方式 。这些功能比较基础没有可介绍的 , 值得一提的是 , 以十六进制发送的时候 , 可支持多种十六进制格式以及宽松的判断 , 例如:
{0x45, 0x56, 0x89, 0xAB, 0xF2} = 45 56 89 AB F2
08H 58H 9AH BCH = 08 58 9A BC
0x120x560x8a 9F7C62 3 B 5 = 12 56 8A 9F 7C 62 03 0B 05
基本功能我不在这里啰嗦了 , 我写了个文档在GitHub上:https://lcofjp.github.io/visual-serial/
虽然主界面很丑 , 但是我还是上个图吧:

文章插图
欢迎各位坛友下载体验 , 您的使用就是对我最大的支持 , 如果有任何意见和建议 , 软件有什么bug , 欢迎到QQ群309018200或者本帖留言 。
下载地址:
https://pan.baidu.com/s/1mhAt4Ju
推荐阅读
- 或许你就是跟这5种食物无缘 不是简单的肠胃病
- 22省养老金上调方案各有千秋,9省调整有亮点,涨钱更有优势
- 个人所得税计算器 2022年个税征收新标准
- 喝红糖水有什么好处和坏处 喝红糖水有哪些好处和坏处
- 地铁是谁发明的诞生在哪里 世界上第一条地铁诞生于哪里
- 印花桃皮绒布多少钱一米 桃皮绒印花布面料价格怎么样贵
- 女人吃鸭蛋有什么好处
- 珠兰的养殖方法和注意事项 珠兰的养殖方法和注意事项介绍
- 儿童绘画动物图片大全,什么年龄学绘画最好?
