欢迎来到天天文库
浏览记录
ID:1413212
大小:236.18 KB
页数:6页
时间:2017-11-11
《3.0内核技术分析v1.0》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、3.0内核技术分析V1.0-4-一、内核简介用户使用内核来操作模块的各种功能,例如输入与输出的映射关系,或者收发字符串或者其他数据,使用定时器做延迟或者其他定时处理,内部变量的格式转换,等等。内核运行流程:二、操作定时器指南定时器简介:定时器的值只有正整数,属于非0减1定时器。程序每执行完毕一次检查一次定时器的值并做非0减1操作。定时器用法:-4-添加输出结果,类型选定时器,将定时器设置为等于某一个值(给定时器设置初值)。然后添加输入,类型也选定时器,定时器等于某一值触发其他输出。例如输出里面将定
2、时器等于100(设置初值100),然后使用定时器等于80触发另一个输出结果,设置定时器操作和定时器触发其他动作操作时间间隔就是20(200毫秒)。举例说明:以下程序每隔100毫秒第一路输出翻转一次,并且数据口1向外发送字符串:“123”.程序流程:一、函数使用说明函数说明:模块包含100个函数,从函数1到函数100,函数列表在设置菜单里调出。函数的使用方法:输出选项里面,可以选择“函数调用”选项,参数1选择函数调用,参数2选择某一个函数,然后确定。函数的意义:程序易读性,同一个功能使用一个函数替代
3、,主程序中只是使用一个函数代替,可以大大增强主程序的易读性。避免了主程序过长让人眼花缭乱。多级判断:如果遇到一个条件满足的情况下再去判断另一个条件,或者在一个条件满足了以后再去做一些其他的判断处理,就会用到函数功能。节省空间:同一个功能使用同一个函数模块,可以反复调用,从而避免同一个功能代码重复。二、简单功能介绍临时数据接收到时间间隔,接收临时数据的时候,模块是通过两个字节之间的时间间隔来确定的,超过这个时间间隔就认为是两个数据包,出厂默认设置为10ms。三、临时数据包处理数据口接收到的临时数据包
4、放在临时数据缓冲区里面,用户需要把它赋值给数据包变量,然后对数据包变量进行处理,比如删除或者增加字节,提取内部的数据作为变量,然后通过数据口把数据包变量发送出去。-4-通过临时数据包的处理功能,可以是模块兼容市面上的大部分485或者串口或者ttl的通讯协议,通过协议转发可以让不同厂家的模块互相配套兼容,或者可以用来当作主机控制不同的厂家的产品。一、数据包变量简单处理参数1选择将要被处理的是哪个数据包变量,参数2选择将要进行的处理方式,参数3输入具体的处理内容。每个处理方式的含义如下:数据包变量无参
5、数处理,参数3内部包含了几个处理方式加上其他数据包变量:参数3选择输入被加入的数据包变量,然后将这个变量加到参数1的数据包变量的尾部,赋值为其他数据包变量:将参数3选择输入的数据包变量赋值给参数1选择的数据包变量,这样会删除数据包变量1原有的数据内容。删除字节:删除参数1选择的数据包变量的某一个字节,不论是字符串还是数组同样有效在最前面添加一个变量字节:在数据包变量的最前面添加一个字节,这个字节二、中间继电器的使用方法中间继电器可以用来检测某一个数据的变化,数据大于某一值中间继电器闭合,小于某一个
6、值断开,我们可以通过中间继电器的断开到闭合或者闭合到断开来检测连续变化量经过某一个值这个事件。三、程序延时软件停止运行,等待设定的时间后,程序继续运行。有一点需要注意,程序延时过程中,内核程序停止了运行,内核的其他程序也不再执行。这种功能适合一些简单程序。四、内部变量的使用方法用户可以将系统内部的其他的变量的值赋值给内部变量,也可以将内部变量的值赋值给其他的变量,然后再通过读写内部变量的值来读写系统内其他变量的值。内部变量不够的时候,有的板卡内部有单独的存储区,用来存储内部变量的值,使用如下的命令
7、来操作:,通过这条指令,内部RAM区地址1保存了内部变量1的值。同样的道理,保存到ROM1就是保存到掉电不丢失的区域(此功能需要有非易失存储器的板卡支持)。内部变量可以进行位操作,可以读写内部变量的某一位。也可以根据某一位的值作为输入来判断。五、定时处理,需要带有时钟芯片的硬件支持通过这个程序,每天早上和下午定时打开第一路继电器输出。-4-通过这个程序,每天8点到12点之间第一路是闭合的,其他时间是断开的。一、格式转换最近的软件升级,数据包变量改名为数组,说的是同一个东西,都是某一个数据组合。内部
8、变量可以与内部的数据包变量进行相互转换,可以有多种转换方式如下:十进制字符串与内部变量的相互转化:,通过这条指令的执行,如果内部变量十进制的值为123,则数据包变量1的内容为“123”,也就是数组:0x310x320x33,数据包的长度为3,转换方式为根据需要长度转换(默认)。如果转换的长度设置为4,则数据包变量1的内容为“0123”,也就是数组:0x300x310x320x33。,字符串转换为内部变量不受字符串长度的影响,如果是十进制字符串:“12345”,则内部变量的值为123
此文档下载收益归作者所有