自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万里无云的博客

一个学习总结,经验分享的个人博客。

  • 博客(16)
  • 资源 (5)
  • 收藏
  • 关注

原创 关于Windows平台上vscode利用GCC链接第三方库的过程记录

过程记录最近因为测试需要,我在Windows 10操作系统上利用GCC生成并安装libevent的库。我的libevent库的安装路径是D:\Softs\Develop\libevent,目录下包括bin、include、lib三个目录。然后我用Visual Studio 2019建了一个C项目,并配置好了libevent库。写代码进行测试,一切正常。Visual Studio 2019的相关配置如:项目右键 >> 属性 >> VC++目录这一部分主要配置包含目录、库目录两

2021-08-23 14:58:05 2253 4

原创 第4章 第一个程序

对源程序进行编译连接:使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用连接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。可执行文件包括两部分内容:程序(从源文件中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)。相关的描述信息(比如,程序有多大,要占用多少内存空间)。一段简单的汇编语言源程序assume cs:codesg # 将某个段寄存器与程序中的某个段相关联codesg segment # 定义一个段 mov ax,012..

2021-04-22 21:32:43 91

原创 第3章 寄存器(内存访问)

CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址,在8086PC中,内存地址由段地址和偏移地址组成。8086CPU有一个DS寄存器,通常用来存放要访问的数据的段地址。比如mov bx,1000Hmov ds,bxmov al,[0]“[…]”表示一个内存单元,“[…]”中的0表示内存单元的偏移地址。执行指令时,8086CPU自动取ds中的数据为内存单元的段地址。8086CPU不支持将数据直接送入段寄存器的操作,ds是一个段寄存器,所以mov ds,1000H这条指令是非法的。只能通..

2021-04-22 10:41:55 188

原创 第2章 寄存器

一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件通过内部总线相连。相对于CPU内部总线来说,其他的称为外部总线。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上的其他器件之间的联系。在CPU中:运算器进行信息处理寄存器进行信息存储控制器控制各种器件进行工作内部总线连接各种器件,在它们之间传送数据不同的CPU,寄存器的个数、结构是不相同的。8086CPU有14个寄存器,每个寄存器有一个名称,这些寄存器是:AX、BX、CX、DX、SI、DI、SP、BP..

2021-04-21 21:48:03 143

原创 第一章 基础知识

汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编语言由3类指令组成:汇编指令:机器码的助记符,有对应的机器码伪指令:没有对应的机器码,由编译器执行,计算机不执行其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码汇编语言的核心是汇编指令,它决定了汇编语言的特性。指令和数据是应用上的概念。在内存或磁盘上,指令和数据没有任何的差别,都是二进制信息。电子计算机的最小信息单位是bit,也就是一个二进制位。8个bit组成一个Byte,也就是一个字节..

2021-04-21 21:47:28 61

原创 第一章 计算机系统体系结构

计算机系统计算机系统包括读取并执行程序的中央处理单元(CPU),保存程序和数据的存储器,以及将芯片转换为实用系统的其他子系统。计算机中实际执行程序的部分称为CPU,或被称为处理器。微处理器则是在单个硅片上实现的CPU。围绕微处理器构建的计算机被称为微机。Cache是存放常用数据的高速、专用存储器;主存中存放了大量的工作数据;辅存是指磁盘和CD-ROM等。一些计算机使用总线扩展接口或桥接技术,以便能够在不同类型的总线间交换数据。存储器系统保存两类信息:程序和数据。寄存器..

2021-01-31 21:45:12 507

原创 232、485、422

EIA-RS-232C(RS232)定义:数据终端设备(DTE)和数据通讯设备(DEC)之间串行二进制数据交换接口技术标准,简单理解就是串行二进制数据交换接口技术标准。它描述了计算机及相关设备间较低速率的串行数据通信的物理接口及协议。EIA代表美国电子工业协会。RS是英文Recommended standard的缩写,意思是“推荐标准”。232是标识号。C代表RS232的最新一次修...

2020-04-03 17:51:32 672

原创 位段

在C语言中,我们可以利用结构体实现位段的功能。位段的声明和结构类似,但是它的成员是一个或者多个位的字段。这些不同长度的字段实际上存储在一个或者多个整型变量中。位段的声明和任何普通的结构成员声明相同,但有两个例外:第一、位段成员必须声明为int、signed int、unsigned int类型。第二、在成员名的后面是一个冒号和一个整数,这个整数用于指定该位段所占用的位的数目。例如下面是一个位段声...

2020-03-25 22:57:29 98

原创 C语言学习笔记(五)

联合是一种数据类型,它能够在同意内存里面存储不同的数据类型。声明一个联合类型的变量时,编译器会分配足够的空间,以便能够存储联合声明中占用字节最大的类型。联合的初始化方法有三种:把一个联合初始化为另一个同类型的联合;初始化联合的第一个元素;根据C99标准,使用指定初始化器。在联合中,一次只存储一个值。即使有充足的空间,也不能同时存储两个及两个以上的的值。可以利用枚举类型声明符号名称来表示整型常量...

2020-03-21 23:03:48 174

原创 C语言学习笔记(四)

字符串常量属于静态存储类别,这说明如果在函数中使用字符串常量,该字符串只会被存储一次。数组形式的字符串与指针形式的字符串的区别:通常,字符串都作为可执行文件的一部分存储在数据段中。当把程序载入内存时,也载入程序中的字符串。字符串存储在静态存储区。当程序开始运行,并为数组分配内存,这时候才将字符串拷贝到数组中。此时字符串有两个副本,一个是静态存储区的字符串常量,另一个是存储在数组里面的字符串。指...

2020-03-08 23:25:48 206

原创 C语言学习笔记(三)

C语言中,一直用int类型的变量表示真/假值,C99针对这种类型的变量新增了_Bool类型。_Bool类型的变量只能存储1或0,其他的非零数值赋值给_Bool类型的变量,该变量会被设置为1。C99提供了stdbool.h头文件,该头文件让bool成为_Bool的别名,并把true和false分别定义为1和0的符号常量。逗号运算符并不局限于在for循环中使用,它有两个性值,首先,它保证了被它分隔...

2020-03-04 23:22:20 119

原创 C语言学习笔记(二)

字符串是一个或者多个字符的序列。C语言没有专门用于存储字符串的变量类型,字符串都被存储在char类型的字符数组里面。数组由连续的存储单元组成。字符串以字符\0作为结束标记。scanf函数在遇到空格时会结束输入。C99和C11标准专门为sizeof运算符的返回类型添加了%zd转换说明,这个对于strlen()同样适用。对于早期的C,sizeof和strlen()返回的实际类型通常是u...

2020-02-26 19:44:27 482

原创 C语言学习笔记(一)

计算机把浮点数分成小数部分和指数部分来表示,并且分开存储这两部分。一般而言,存储一个int要占用一个机器字长。声明变量时,只为变量分配内存空间,并不做初始化操作。(局部变量)利用printf打印数据时,转义符的个数要和后面的参数个数匹配。C语言中,0x或0X前缀表示十六进制值。0前缀表示八进制值。不同的进制使用不同的转换说明。十进制使用%d,八进制使用%o,十六进制使用%x,另外,要显...

2020-02-25 14:03:58 320

原创 关于PyQt5中QListWidgetItem不显示的问题

在我做过的一个项目中,需要利用QT实现一个人脸考勤打卡的界面,人脸打卡成功之后,会在界面的右边区域显示一条打卡信息。界面实现如下。整个实现过程还算比较顺利,只是在动态添加打卡信息到右侧的列表时,发现Item并不显示,而是出现了一个透明的框。后来查看Qt的开发文档才发现,QT不允许直接在非UI线程中添加Item。而我开发时,担心在添加过程中,会导致UI卡顿的问题,所以正是将该操作放到线程里面...

2020-01-05 23:02:05 2866

原创 关于PyQt5中QListWidget动态删除Item中的问题

在前段时间里,做了一个简单的项目,就是一个音乐下载器的客户端程序。功能比较简单,一个单一的界面,主要展示下载的音乐的一些基本信息;后台通过创建一个WebSocket,监听Web端发来的请求。在Web端可以做到添加任务,删除任务等功能。整个项目用Python实现,窗体部分,则用的是PyQt5。具体实现如下。下载音乐的任务列表,采用的是QListWidget控件,每一个元素用的是自定义的Ite...

2020-01-05 22:39:32 2784 2

原创 Java实现邮件发送功能

Java实现邮件发送功能        最近在书上看到了一段利用java实现的邮件发送功能的案例,想想在许多网站中,注册用户时都会用到的一种短信验证的功能,觉得挺有意思,也挺有必要的,所以就想和大家分享一下,也就作为第一次博文的内容。1.首先了解一下整个功能的实现步骤列表内容

2016-12-03 22:00:43 306

376.2集中器本地通信模块接口协议.pdf

Q/GDW 376—2012《电力用户用电信息采集系统通信协议》分为下列3个部分: ——Q/GDW 376.1《电力用户用电信息采集系统通信协议 第一部分:主站与采集终端通信协议》; ——Q/GDW 376.2《电力用户用电信息采集系统通信协议 第二部分:集中器本地通信模块接口协 议》; ——Q/GDW 376.3《电力用户用电信息采集系统通信协议 第三部分:采集终端远程通信模块接口协 议》。 Q/GDW 376—2012实施后代替Q/GDW 376—2009。 本部分是Q/GDW 376—2012《电力用户用电信息采集系统通信协议》的第二部分。 本部分是《电力用户用电信息采集系统》系列标准之一,规定了集中器与下行通信模块的本地接口 协议。

2020-03-13

QGDW 376.1-2009《电力用户用电信息采集系统通信协议:主站与采集终端通信协议》及编制说明.doc

本部分是《电力用户用电信息采集系统》系列标准之一,本部分规定了电能信息采集与管理系统中主站和终端之间进行数据传输的帧格式、数据编码及传输规则。 本部分由国家电网公司营销部提出; 本部分由国家电网公司科技部归口。 本部分起草单位:中国电力科学研究院、浙江省电力公司、重庆市电力公司、上海市电力公司、江苏省电力公司

2020-03-13

DLT645-2007多功能通讯协议.pdf

DLT645是目前使用最多的多功能电能表通信规约,系统传输多采用串口通讯。适用于本地系统中多功能电能表的费率装置与手持单元(HHU)或其它数据终端设备进行点对点的或一主多从的数据交换方式,规定了它们之间的物理连接、通信链路及应用技术规范。

2020-03-13

MODBUS通讯协议中文版.pdf

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

2020-03-13

BACnet协议中文版.pdf

BACnet(A Data Communication Protocol for Building Automation and Control Network)是 一种为楼宇自动控制网络所制定的数据通信协议,它由美国冷暖空调工程师协会组织的标准 项目委员会135P(Standard Project Committee: SPC 135P)于1995年6月制定。BACnet标 准产生的背景是用户对楼宇自动控制设备互操作性(Interoperability)的广泛要求,即将不 同厂家的设备组成一个一致的自控系统。BACnet实现楼宇自控设备的互操作性的思想是这 样的,一般楼宇自控设备从功能上讲分为两部分,一部分专门处理设备的控制功能,另一部 分专门处理设备的数据通信功能,不同厂商生产的设备使用各自专门的数据通信的方式,所 以不同厂商的设备之间没有很好的互操作性。BACnet就是要建立一种统一的数据通信的标 准,用于设备的通信部分,从而使得按这种标准生产的设备,都可以进行通信,实现互操作 性。BACnet标准只是规定了楼宇自控设备之间要进行“对话”所必须遵守的规则,并不涉 及如何实现这些规则,各厂商可以用不断进步的技术来开发,从而使得整个领域的技术不断 进步。

2020-03-13

空空如也

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

TA关注的人

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