3.0内核原理分析V1.0.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.0内核原理分析V1.0

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

文档评论(0)

118fendou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档