接上一篇文章的内容. 看了前面需求提到的复杂的命令行解析功能,很多人立马开始发怵,其实大可不必. 我们都知道,Linux下的程序往往都提供了复杂的命令行参数处理机制,因为这是与 其他程序或用户进行交互的主要手段,在这样的情况下难能可贵的是,为了减轻开发 人员对命令行处理的负担,Linux提供了系统函数getopt()或getopt_long()专门解析命令行参数. 在Linux系统中,函数getopt()/getopt_long()位于 unistd.h 系统头文件中,其原型分别为: int g…
Modbus-RTU 一.数据分析       两个设备(单片机)通讯,用的是Modbus协议.      在单片机中拿出一部分内存(RAM)进行两个设备通讯,例如: 说明: OX[20]   代表是输出线圈,用功能码 0x01,0x05,0x0F 访问, 开头地址是 0 (这个后续说明)       IX[20]    代表是输入线圈,用功能码 0x02 访问,开头地址是 1 (这个后续说明)另外两个一样的道理.       注意:所谓的“线圈”“寄存器”就是“位变量”“16位变量”.之所以称…
在开发Modbus程序的过程中,也可以发现经常需要使用诸如Modbus Poll和Modbus Slave等辅助调试工具, 用于验证MODBUS通讯消息是否正确.但是,Modbus Poll和Modbus Slave都属于共享软件, 价格都在百美元左右,在未购买的情况下有时间或功能限制,怎么办呢? 其实,我们完全可以开发自己的MODBUS辅助调试工具. 那么先定一个小目标,开发一个简化版的Modbus Poll,能够方便调试MODBUS通讯, 支持RTU模式和TCP模式,支持以下最常用MODBU…
前言: 最近在研究Modbus开发,如果只是简单的了解了一些modbus基础知识,但是不够系统和全面. 其实,modbus虽然比较简单,但是如果不注意有很多坑,特别是寄存器的位数,大小端处理,浮点数,长整数的处理等等.目前也没有什么合适的书籍系统介绍,帮助理解的. 刚刚搜了一下,只有最近清华出版的<Modbus软件开发实战指南>不错,应该是Modbus开发方面第一书,很系统很全面. 内容着重讲述如何快速入门并精通Modbus软件开发技术,适用于初学Modbus通信协议的读者,可以看看. 清华出…
从今天起,每天开始连载一章<STM32 HAL 库开发实战指南—基于F7>.欢迎各位阅读.点评.学习. 第1章  如何使用本书 1.1  本书的参考资料 本书参考资料为:<STM32F76xxx参考手册>和<Cortex®-M7内核编程手册>,这两本是ST官方的手册,属于精华版,面面俱到,无所不包.限于篇幅问题,本书不可能面面具到,着重框图分析和代码讲解,有关寄存器的详细描述则略过,在学习本书的时候,涉及到寄存器描述部分还请参考这两本手册,这样学习效果会更佳. 1.2…
Hadoop是2013年最热门的技术之一,通过北风网robby老师<深入浅出Hadoop实战开发>.<Hadoop应用开发实战>两套课程的学习,普通Java开发人员可以在最快的时间内提升工资超过15000.成为一位完全精通Hadoop应用开发的高端人才. Hadoop是什么,为什么要学习Hadoop? Hadoop是一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式…
开发中关键的Class和Interface有Channel.Connection.ConnectionFactory.Consumer等,与RabbitMQ相关的开发工作,基本上是围绕Connection和Channel这两个类展开的. 连接RabbitMQ 一个Connection可以创建多个Channel实例,但Channel实例不能在线程间共享,应用程序应该为每一个线程开辟一个Channel. Channel或者Connection中有个isOpen方法可以用来检测其是否已处于开启状态.但…
2014四月       Prism以示例和文档的形式帮助你更简单的设计丰富灵活易维护的WPF程序.其中使用的设计模式体现了一些重要的设计原则,例如分离关注点和松耦合,Prism帮助你利用松耦合组件设计和构建应用程序.松耦合组件是指可以单独开发的,却又容易集成到整个应用程序的组件.简而言之,利用Prism构建的程序是“为以后而构建”和“为改变而构建”.这样的程序也被说成是组合式应用程序.       本篇内容是Prism相关概念的简明介绍,还附带了一些相关源代码和文档的连接.如果你以前用的是Pr…
April 2014 2014四月   Prism provides guidance in the form of samples and documentation that help you easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop applications. Using design patterns that em…
提交表单数据时,需要经过前端的验证才能提交到后台,而后台的验证器再做一道数据的校验,成功之后才能进入action进行业务数据的处理. 在表单数据的验证中,数据类型的验证还是比较固定的.首先是对录入数据的长度验证(最大->自带,最小->vMin),其次就是对数据的内容(类型->vType)进行有效性验证. 在日积月累的学习开发中,自己应该积累一些常见的数据校验处理方法,在不同的项目中只需要结合不同的UI修改一下验证提示即可. form_elements.html中的表单输入验证提示效果,根…