自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (1)
  • 收藏
  • 关注

转载 【转】TwinCAT PLC 使用

TwinCAT PLC与传统的 PLC 相比, CPU、硬盘、内存资源有了数量级的提升,运算快, 数量区和程序区几乎无穷大。(2) 在 TwinCAT System Manager 中新建一个项目,在PLCConfiguration中添加步骤(1)生成的(.tpy)文件。此时PLC程序就开始运行,程序中的I/O变量值就对应到硬件中的I/O状态。(4) 在TwinCAT System Manager 中把PLC程序中的输入输出变量映射到与之对应的硬件I/O上。

2023-10-16 13:43:35 445

转载 Beyond Compare 版本4 密钥的解决方法

查找注册表路径:【HKEY_CURRENT_USER】--【Software】---【Scooter Software】--【Beyond Compare 4】下面找到参数【CacheId 】,并且将其删掉。版权声明:本文为CSDN博主「READLEAF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/READLEAF/article/details/131355742。第一步:打开注册表。

2023-09-08 15:37:14 1417 3

转载 C++中头文件中定义的变量

C++中头文件中定义的变量_头文件中定义变量_Gov_Demon的博客-CSDN博客

2023-08-20 22:56:35 170

转载 EtherCAT从站学习笔记——2.4通信模式

在实际的控制系统中,应用程序之间一般有两种类型的数据交换形式:时间关键数据(time-critical)和非时间关键数据(non-time-critial)。时间关键表示特定的动作必须在确定的时间内完成或处理,否则可能会引起失控甚至引发事故。根据时间苛刻与否,EtherCAT通信模式分为两种:周期性过程数据通信和非周期性邮箱数据通信。

2023-05-05 22:04:53 524

转载 详解C语言中volatile关键字

如果汇编指令修改了内存,但是GCC 本身却察觉不到,因为在输出部分没有描述,此时就需要在修改描述部分增加“memory”,告诉GCC 内存已经被修改,GCC 得知这个信息后,就会在这段指令之前,插入必要的指令将前面因为优化Cache 到寄存器中的变量值先写回内存,如果以后又要使用这些变量再重新读取。2)不要将变量缓存到寄存器,因为这段代码可能会用到内存变量,而这些内存变量会以不可预知的方式发生改变,因此GCC插入必要的代码先将缓存到寄存器的变量值写回内存,如果后面又访问这些变量,需要重新访问内存。

2023-05-03 19:56:28 173

转载 C语言volatile的作用及使用场景介绍

volatile的作用是很微妙的,它并不能替代synchronized,因此它无法提供同步的能力,它只能提供改变可见性的能力 (可见性:多个线程访问同一个变量时,这个变量被修改后,能被其他的线程看到。由于总是读写与主存,它的读写性能要低于普通的变量。正确使用的模式总结下来就是一个线程写,多个线程读。

2023-05-03 19:29:54 205

转载 IIC总线 和 SPI总线 的不同

spi 总线因为是全双工,因此是沿采样,具体要根据 CPHA 决定。spi 总线不同从设备读写时序差别比较大,因此必须根据具体的设备 datasheet 来实现读写,相对复杂一些。2、 iic 总线是多主机总线,通过 SDA 上的地址信息来锁定从设备。1、 iic 总线是半双工, 2 根线 SCL SDA。7、 iic 总线 和 spi 总线数据传输都是 MSB 在前, LSB 在后(串口是 LSB 在前);8、 iic 总线 和 spi 总线时钟都是由主设备产生,并且只在数据传输时发出时钟;

2023-05-02 22:02:38 401

转载 EtherCAT分布式时钟同步过程的理解

主站根据读取的Receive time Port0,Receive time Port1数值T1(n) T2(n) 可计算出各个从站相对于参考时钟(第一个DC从站)的延时,计算公式为[T2(1) – T1(1) – (T2(n) – T1(n))] / 2,这里假设传输时间均匀,由主站推计算出的延时时间,主站将该参数写入到从站的寄存器System time transmission delay参数中(参考上表)。,每个DC从站都有本地时钟,它独立运行,使用本地的时钟信号计时。参考时钟与本地系统时钟对应。

2023-04-29 13:10:17 1535

转载 Linux系统select 实现socket单线程并发

程序只是演示select函数的使用,功能非常简单,即使某个连接关闭以后也不会修改当前连接数,连接数达到最大值后会终止程序。4. 处理fdsr中可以接收数据的连接。如果是sock_fd,表明有新连接加入,将新加入连接的socket描述符放置到fd_A。1. 程序使用了一个数组fd_A,通信开始后把需要通信的多个socket描述符都放入此数组。3. 将sock_fd和数组fd_A中不为0的描述符放入select将检查的集合fdsr。2. 首先生成一个叫sock_fd的socket描述符,用于监听端口。

2023-04-26 19:46:12 206

转载 自旋锁和互斥锁的区别

自旋锁和互斥锁的区别_一缕阳光a的博客-CSDN博客

2023-04-26 18:48:02 40

转载 互斥锁和信号量

互斥锁和信号量_信号量和互斥锁_Lewin~的博客-CSDN博客

2023-04-25 19:15:30 35

转载 EtherCAT总线通信Freerun、SM、DC三种同步模式分析

总体的DC分布式时钟模式汇总如下流程所示:EtherCAT总线通信Freerun、SM、DC三种同步模式分析_ethercat dc同步_~晓广~的博客-CSDN博客。

2023-04-16 20:45:24 1952

转载 EtherCAT主站SOEM源码解析----IOmap

SOEM通过函数ec_config_map(&IOmap)完成逻辑地址和物理地址的映射,应用程序需要定义一个数组IOmap,例如:完成映射后,应用程序就可以通过读写数组IOmap[]来完成与从站的数据交换。SOEM首先将所有从站的输出映射到IOmap[]的开始位置,然后是输入,如下图所示:函数ec_config_map(&IOmap)最终会调用/soem/EthercatConfig.c中的以下函数完成映射。

2023-04-13 18:44:21 865

转载 Qt报错:undefined reference to xxxxx

2022-12-21 09:41:39 512

转载 gdb 根据函数地址 找 对应的函数名

GDB调试 根据函数地址 找 对应的函数名

2022-09-26 15:36:13 2341

转载 总线/通信笔记3 —— PDO与SDO的区别

2022-06-18 10:28:07 4031

转载 Shell export命令

Shell:export命令 - 百度文库

2022-04-15 16:11:33 110

转载 sizeof()计算结构体的大小

原文链接:sizeof()计算结构体的大小_海月汐辰-CSDN博客_结构体的sizeof怎么计算简要说明:结构体成员按照定义时的顺序依次存储在连续的内存空间,但是结构体的大小并不是简单的把所有成员大小相加,而是遵循一定的规则,需要考虑到系统在存储结构体变量时的地址对齐问题。一、没有成员的结构体占用的空间是多少个字节? 答案是:1个字节。 这就是实例化的原因(空类同样可以被实例化),每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会给一个空类或空结构体(C+...

2022-03-14 09:39:05 2714

转载 TCP socket心跳包示例程序

TCP socket心跳包示例程序_xqhrs232的专栏-CSDN博客_setsockopt 心跳包原文地址::TCP socket心跳包示例程序_神奕的专栏-CSDN博客_tcp心跳包相关文章1、Linux网络编程--服务端判断客户端断开的经验方法----Linux网络编程--服务端判断客户端断开的经验方法_志存高远-CSDN博客_info.tcpi_state2、Socket心跳包机制及SO_KEEPALIVE套接口选项----Socket心跳包机制及SO_KEEPALIVE套接.

2022-03-03 08:45:10 272

转载 浅谈可重入函数与不可重入函数

浅谈可重入函数与不可重入函数【转】_shareinfo2018-CSDN博客_可重入函数

2021-11-01 14:41:11 79

原创 C++和C语言函数相互调用

C++代码调用C函数:在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理:extern "C"{#include "cExample.h" }  而在C语言的头文件中,对其外部函数只能指定为extern类型,C语言中不支持extern "C"声明,在.c文件中包含了extern "C"时会出现编译语法错误。  ...

2021-08-03 14:06:39 640

转载 #ifdef __cplusplus extern “C”的作用详解

https://blog.csdn.net/dayou1024/article/details/107017432

2021-06-16 16:45:52 103

转载 宏的使用 extern

https://www.cnblogs.com/chulin/p/9389254.html

2021-06-16 15:48:33 528

转载 ucosii中消息队列、消息邮箱、信号量的区别

任务间通信:可以通过全局变量、信号量、消息队列来完成。全局变量:虽然可以承载通信的内容,但是接收方无法意识到信息的到达,除非发送方向接收方发送一个信号量,或者接收方不断检测该全局变量信号量:可以通知接收方某个事件的发生,但无法传递具体事件内容,形象的说就像我们只拨通别人的手机而不与之通话消息队列: 可以通知接收方某个事件的发生,但并告知接收方事件内容,形象的说就像我们既拨通别人的手机又与之通话...

2021-05-17 15:34:44 1146

转载 Ucosii消息邮箱使用

https://blog.csdn.net/oyhb_1992/article/details/75270739https://www.cnblogs.com/itloverhpu/p/3139511.html

2021-05-17 14:32:44 104

转载 zynq中mgtx应用_基于ZYNQ的UCOS移植(TCP通讯)

一、功能简介通过第三方库创建SDK工程在ZYNQ-UCOS中实现TCP echo通讯二、配置需求操作系统 Windows 10(64位)开发环境 SDK 2018.3三、操作流程1、添加资源库。启动SDK软件,选择Xilinx->Repositories弹出Perferences视图,在Local Repositories中添加ucos资源库(ucos 资源库下载链接 见附件部分 )。2、创建新工程。选择File->New->App...

2021-04-23 11:43:42 559

原创 原始socket例子

https://blog.51cto.com/u_13603157/2095503

2021-04-21 16:57:37 66

转载 原始套接字简介

一原始套接字概述原始套接字,指在传输层下面使用的套接字。流式套接字和数据报套接字这两种套接字工作在传输层,主要为应用层的应用程序提供服务,并且在接收和发送时只能操作数据部分,而不能对IP首部或TCP和UDP首部进行操作,通常把这两种套接字称为标准套接字。但是,如果我们开发的是更底层的应用,比如发送一个自定义的IP包、UDP包、TCP包或ICMP包,捕获所有经过本机网卡的数据包,伪装本机的IP,想要操作IP首部或传输层协议首部,等等,这些功能对于这两种套接字就无能为力了。这些功能需要使用另一种套接..

2021-04-21 16:51:57 610

转载 IP地址中A类、B类、C类地址的区别

区别如下:1、IP地址表示方法不同:一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位。一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B

2021-04-14 11:16:40 687

转载 VLAN与子网划分区别

转自:http://bbs.51cto.com/thread-1514066-1.html经常看到论坛里有新手上来发贴说已经弄了VLAN了,为什么还要划分IP子网的问题。今天详细讲一下。VLAN与IP子网(划分)的区别。有点类似于重量和质量的区别: 重量的的单位是牛顿,质量的单位是克(千克(公斤))。但是我们在使用中,我们说某物体质量的时候都是说重量是多少公斤(千克),而不说重量是多少牛顿。质量往往说的是产品的品质好坏,是否达标等。 而VLAN和子网在使用中,就很容易被混淆。 但是在学术定义上是完..

2021-04-14 11:09:37 515

转载 IP地址192.168.1.1/24中的/24是什么意思

/24是指子网掩码的位数。子网掩码的位数总共有32个,写的的/24个就是24个1,其它8位都是0。/24就可以写成子网掩码是:11111111 11111111 11111111 00000000例如:/25,就代表有25个1,7个0,一共是32位。8位数为一组,就可以写成:11111111 11111111 11111111 10000000扩展资料:子网掩码的用法子网掩码是一个32位地址,对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的..

2021-04-14 10:48:30 7479

转载 静态路由和默认路由

一、静态路由的配置下边实验对该拓扑图进行配置实验目标:配置静态路由,实现全网互通1、配置路由器R1进入接口f0/0,配置IP,并开启。进入接口f0/1,配置IP,并开启。设置静态路由。查看PC1的路由表2、配置路由器R2进入接口f0/0,配置IP,并开启。进入接口f0/1,配置IP,并开启。设置静态路由。查看PC2的路由表3、配置PC1的IP地址和网关4、配置PC2的IP地址和网关5、测试PC1,PC2之间的互通情况。6设置R1的路

2021-04-14 10:41:59 79

转载 静态路由原理

1、路由器的工作原理路由工作简单原理图1)主机1.1要发生数据包给主机4.1.因为IP地址不在同一网段,所以主机会将数据包发送给本网段的网关路由器。2)路由器A 接收到数据包,先查看数据包IP首部中的目标IP地址。再查找自己的路由表。数据包的目标IP地址是4.1.属于4.0网段,路由器A 在路由表中查到4.0网段转发的接口是S0接口,于是路由器A将数据从S0接口转发出去。3)网络中的每个路由器都是按照这样的步骤转发数据的,直到到达路由器B,再用同样的方法从E0接口转发出去,最后主机4.1接收到

2021-04-14 10:31:14 128

转载 静态VLAN的配置

在一台交换机上连接3台PC机,然后创建两个VLAN,分别为VLAN 10 和VLAN 20,把第一台PC机分配给VLAN 10,把其他两台分配给VLAN 20.然后测试他们的互通情况。在这里命令我用的都是简化命令,想卡完整版命令,请到上一篇博客VLAN与三层交换上看。实验拓扑图如下:1、配置PC1的IP地址。2、配置PC2的IP地址3、配置PC3的IP地址4、配置交换机sw首先关闭路由功能创建VLAN 10、VLAN 20配置f1/0端口,将f1/0端口分配给VLAN 10

2021-04-14 10:12:19 199

转载 Micrium/UCOS官网账号密码重新改问题

https://blog.csdn.net/qq_42312125/article/details/104122502

2021-03-29 13:43:31 365

转载 学习笔记 --- DM9000网卡原理与基地址设置

前面有文章分析了网卡也是属于类内存总线的设备,类内存总线的设备有地址总线和数据总线,先来看下DM9000的管脚:从上面可以看出DM9000的地址总线就一根,它不像CS8900那样地址总线和数据总线都齐全。而这里只有一根地址线(CMD),16跟数据线,所以可以确定位宽为16位,而地址线为什么只有一根,这是DM9000决定的,看手册可以知道CPU总线只访问它的两个地址,CMD管脚为0时,数据线送的是DM9000的寄存器地址,CMD管脚为1时,数据线上送的是16位的寄存器数据,所以对DM9000的操作至少

2021-03-26 10:17:51 2243

转载 Linux下Kill函数用法

[ KILL ]功能描述:用于向任何进程组或进程发送信号。头文件用法:1#include<sys/types.h>23#include<signal.h>45intkill(pid_tpid,intsig);67参数:pid:可能选择有以下四种1. pid大于零时,pid是信号欲送往的进程的标识。2. pid等于零时,信号将送往所有与调用kill()的那个进程属同一个使用组的进程。3. p...

2021-03-24 09:18:02 375

转载 Linux中wait()函数及waitpid()函数

编程过程中,有时需要让一个进程等待另一个进程,最常见的是父进程等待自己的子进程,或者父进程回收自己的子进程资源包括僵尸进程。这里简单介绍一下系统调用函数:wait()函数原型是#include <sys/types.h>#include <wait.h>int wait(int *status)函数功能是:父进程一旦调用了wait就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进

2021-03-23 19:22:37 451

转载 Linux pause函数 详解

int pause(void);  作用:使调用进程(线程)进入休眠状态(就是挂起);直到接收到信号且信号函数成功返回 pause函数才会返回  返回值:始终返回-1 示例代码:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdlib.h>#include <stdio.h>#include <sys/types.h>

2021-03-23 16:07:30 1519

转载 Linux信号之signal函数

https://blog.csdn.net/lixiaogang_theanswer/article/details/80301624

2021-03-23 15:48:13 611

PDF Decrypter Pro(www.greenxf.com).rar

pdf文件加密破解

2021-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除