摘要: 波特率:每秒钟通过信道传输的信息量称为位传输速率,也就是每秒钟传送的二进制位数,简称比特率。比特率表示有效数据的传输速率,用b/s 、bit/s、比特/秒,读作:比特每秒。 如9600b/s:指总线上每秒可以传输9600个bit; 通常的串口桢格式为:开始位1bit + 数据位8bit + 停止位1 阅读全文
posted @ 2016-07-24 22:45 mrsandstorm 阅读(9111) 评论(6) 推荐(0) 编辑
摘要: (一)、通讯传送方式: 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与Modbus RTU通讯规约相兼容: 编码 8位二进制 起始位 1位 数据位 8位 奇偶校验位 1位(偶校验位) 停止位 1位 错误校检 CRC(冗余循环码) 编码 8位二进制 起始位 1位 数据位 8位 阅读全文
posted @ 2016-07-24 22:37 mrsandstorm 阅读(1985) 评论(0) 推荐(1) 编辑
摘要: Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能 阅读全文
posted @ 2016-07-24 22:28 mrsandstorm 阅读(1881) 评论(0) 推荐(0) 编辑
摘要: 很多同学在做Modbus通讯时,需要连续读取多个现场设备的数据,虽然也编写了Modbus轮询的程序,但是有时还是无法正常通讯。有时虽然能够保证通讯,但是所有现场设备的轮询周期很长。本文将从MBUS_CTRL的超时时间参数设置来说明超时时间设置的重要性。答:Modbus通讯协议是单主多从的通讯协议,如 阅读全文
posted @ 2016-07-24 22:18 mrsandstorm 阅读(7222) 评论(0) 推荐(0) 编辑
摘要: 引言 在TCP/IP体系结构中,IP协议只管将数据包尽力传送到目的主机,无论数据传输正确与否,它都不做验证,不发确认,也不保证数据包的顺序,因而不具有可靠性。这一问题要由传输层TCP协议来解决,TCP协议为Internet提供了可靠的无差错的通信服务。 一、OSI参考模型和TCP/IP参考模型 OS 阅读全文
posted @ 2016-07-24 21:55 mrsandstorm 阅读(2599) 评论(0) 推荐(0) 编辑
摘要: 基于TCP(面向连接)的socket编程服务器端顺序: 1. 创建套接字(socket) 2. 将套接字绑定到一个本地地址和端口上(bind) 3. 将套接字设为监听模式,准备接收客户请求(listen) 4. 等待客户请求的到来;当请求带来后,接受连接请求,返回一个新的对应于此次连接的套接字(ac 阅读全文
posted @ 2016-07-24 21:50 mrsandstorm 阅读(477) 评论(0) 推荐(0) 编辑
摘要: IP地址分类:A:首位为0;1.0.0.0~126.0.0.0;主机号24位B:前两位为10;128.1.0.0~191.255.0.0;主机号16位C:前三位为110;192.0.1.0~223.255.255.0;主机号8位D:前四位为1110;224.0.0.0~239.255.255.255 阅读全文
posted @ 2016-07-24 21:50 mrsandstorm 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1. 编写一个标准strcpy函数 总分值为10,下面给出几个不同得分的答案 以下是2分程序片段 以下是4分程序片段: 以下是7分程序片段: 以下是10分程序片段: //为了实现链式操作,将目的地址返回 char *strcpy(char *dest, const char *src) { asse 阅读全文
posted @ 2016-07-24 21:37 mrsandstorm 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 约瑟夫环:用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至最后一个元素并输出该元素的值。 一、循环链表:建立一个有N个元素的循环链表,然后从链表头开始遍历并记数,如果计数值为M,则输出并删除该元素,继续循环(其实是N-1次),当当前元素与下一元素相同时退出循环。 二、取余操作:令 阅读全文
posted @ 2016-07-24 21:31 mrsandstorm 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 1. union 关键字 union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在 union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下: 一个 union 只配置一个足够大的空间以来容纳最大长度的 阅读全文
posted @ 2016-07-24 21:15 mrsandstorm 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 指针数组:首先它是一个数组,数组的元素都是指针。它是“储存指针的数组”的简称。int *p1[10];数组指针:首先它是一个指针,它指向一个数组。它是“指向数组的指针”的简称。 int (*p2)[10]; 这里需要明白一个符号之间的优先级问题,关键在于p1、p2先和谁结合。“[]”的优先级比“*” 阅读全文
posted @ 2016-07-24 21:11 mrsandstorm 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 1、用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句。 解析:X:2,4,8,16转化成二进制是10,100,1000,10000。如果减1则变成01,011,0111,01111。两者做按位与运算,结果如果为0,则X是2的N次方。 答案:!(X&(X-1)) 阅读全文
posted @ 2016-07-24 21:02 mrsandstorm 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.asm、.s)-->汇编程序(.o 阅读全文
posted @ 2016-07-24 20:38 mrsandstorm 阅读(8666) 评论(0) 推荐(1) 编辑
摘要: 1. C语言基础 1). 可执行文件是怎么生成的: 2. Modbus 3. NXP整体规划 阅读全文
posted @ 2016-07-24 20:09 mrsandstorm 阅读(315) 评论(0) 推荐(0) 编辑