自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

原创 c/c++,char型数组转化为int类型

将int等类型转换并保存在char数组中,同时还需要将char数组转换为int等类型进行显示。

2022-11-11 00:30:10 9128 1

原创 linux网络编程-学习笔记2-socket

linux网络编程一、高并发服务器1、多进程并发服务器2、多线程并发服务器二、TCP状态1、时序2、查看网络状态一、高并发服务器1、多进程并发服务器服务器端逻辑:1.socket(); 创建 监听套接字 sfd2.bind(); 绑定地址结构 struct sockaddr_in addr3.listen(); 设置监听上限4.while(1){cfd = accept(); 接收客户端接收请求;pid = fork();if(pid == 0)

2021-05-31 15:00:11 254

原创 linux网络编程-学习笔记1-socket

标题这里写目录标题标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-05-24 16:37:10 192 2

原创 学习笔记-Linux驱动开发-1-基础

Linux驱动开发-1一、驱动1、概念2、linux系统架构二、模块化设计1、微内核和宏内核2、静态模块化3、动态模块化三、linux设备驱动分类1、字符设备2、块设备3、网络设备四、驱动程序的安全性要求1、驱动是内核的一部分2、驱动对内核的影响3、常见驱动安全性问题一、驱动1、概念软件层面的驱动广义上就是指这一段代码操作了硬件去动,所以这段代码就叫硬件的驱动程序。(本质上是电力提供了动力,而驱动程序提供了操作逻辑方法)狭义上驱动程序专指操作系统中用来操控硬件的逻辑方法部分代码。2、linux系统

2021-05-22 19:52:53 152 2

原创 vs2019打开创建的Qt项目中的*.ui文件时,出现闪退并提示无法打开文件

问题描述:在VS2019中创建了一个Qt项目,并添加了GUI文件,当双击*.ui时,闪退并报错。解决方案:1、添加新的Qt Designer:(我自己的Qt插件安装路径为:E:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin)2、将其设置为默认值3、再次双击打开,就成功了。可参考:借鉴博文...

2021-03-30 17:26:37 2740 4

原创 QT5.14.2+VS2019环境安装

一、软件下载安装步骤可以参考下文:可参考该博文二、打开vs2019,添加QT插件。然后就可以在vs2019中创建QT项目了。

2021-03-24 19:20:06 692

原创 virsual studio 2019搭建linux开发环境,并连接linux Ubuntu虚拟机

1、打开vs2019,创建一个新的c++空项目,平台选择“Linux”2、给创建好的项目添加一个简单的main.cpp文件。3、启动Ubuntu的ssh远程服务先查看ssh状态service shhd status,下图是已经处于服务状态。如果没有启动,使用命令sudo service ssh start4、在VS19中,点击菜单栏的“工具”->“选项”->“跨平台”->“添加”,远程连接我们的虚拟机。主机名可以通过命令hostname查到。添加成功之后如下图,并勾

2021-03-24 11:09:48 4780 5

原创 linux环境下girhub仓库项目下载克隆+gcc,g++

一、克隆具体步骤:1、检查是否安装了git,如无安装,使用下列命令安装:sudo apt install git2、在GitHub上找到仓库地址,如图:3、新建一个文件目录,进入到文件目录下使用git克隆。mkdir 音视频 //创建文件目录cd 音视频 //进入到目录下git clone 仓库地址 克隆完成。二、gcc1、指定输出文件名 -o 参数(1)gcc 源文件 -o 文件名编译链接生成一个名为“文件名”的可执行文件(2)gcc 文件名.c编译

2021-03-22 14:14:32 524

原创 C++学习笔记7--输入输出流

输入输出流一级目录二级目录三级目录一级目录二级目录三级目录

2021-03-14 21:10:02 249

原创 C++学习笔记6--多态性与虚函数

多态性与虚函数一、多态性1、概念2、典型例子二、虚函数1、作用2、静态关联与动态关联3、使用场景三、纯虚函数与抽象类1、纯虚函数2、抽象类3、实例一、多态性1、概念2、典型例子二、虚函数1、作用2、静态关联与动态关联3、使用场景三、纯虚函数与抽象类1、纯虚函数2、抽象类3、实例...

2021-03-14 15:52:49 226

原创 C++学习笔记5--继承与派生

继承与派生一级目录二级目录三级目录一级目录二级目录三级目录

2021-03-11 22:17:02 352

原创 C++学习笔记4--运算符重载

运算符重载一级目录二级目录三级目录运算符重载一级目录二级目录三级目录运算符重载

2021-03-10 16:14:54 177

原创 C++学习笔记3--类和对象2

类和对象2一、构造函数二、析构函数三、对象指针一、构造函数二、析构函数三、对象指针

2021-03-09 19:48:54 184

原创 C++学习笔记2--类和对象1

类和对象1一、类的声明和对象定义1、关系2、声明类3、定义对象4、类与结构体的异同二、类的成员函数1、性质2、定义3、inline成员函数4、存储方式三、对象成员的引用一、类的声明和对象定义1、关系在C++中对象的类型称为类(class),类代表了某一批对象的共性和特征。类是对象的抽象,而对象是类的具体实例,也可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。2、声明类对类的声明一般形式为:class 类名{private: 私有的数

2021-03-05 16:18:10 157 2

原创 C++学习笔记1--明显与C的不同之处

2021.03.03看书学习记录一些区别于C的部分一、函数与预处理1、函数重载当遇到函数的功能相似,但函数和参数的类型可能不同的情况下,为了避免重复的命名。在C++中允许用同一个函数名定义多个函数,这些函数的参数个数和参数类型不同,这就叫做函数重载。例如:分别求三个整型、双精度和长整型数的最大值;可以如下定义:#include <iostream>using namespace std;int main(){int max(int a,int b,int c);doubl

2021-03-04 21:04:50 97 1

原创 学习笔记-应用编程与网络编程-8(网络通信)

2021.01.12网络通信一、概念一、概念1、网络通信最先来源于进程间的通信,实际上就是不同主机的进程间通信。2、方法:网络域套接字socket.3、层次(1)硬件部分:网卡(2)操作系统底层:网卡驱动(3)操作系统API:socket接口(4)应用层:低级(直接基于socket接口编程)(5)应用层:高级(基于网络通信应用框架库)(6)应用层:更高级(http、网络控件等)4、发展历程(1)单机阶段(2)局域网阶段(串行口通信)(3)广域网Internet阶段(4)移动互

2021-01-13 16:19:07 139

原创 学习笔记-应用编程与网络编程-7(线程+附代码)

2021.1.7线程一、回忆进程二级目录三级目录一、回忆进程1、使用多进程实现同时读取鼠标和键盘。在这里插入代码片二级目录三级目录

2021-01-12 20:53:51 119

原创 学习笔记-应用编程和网络编程-6(高级IO+附代码)

2020.12.19高级IO一、非阻塞IO二、阻塞式IO3、并发式IO4、多路复用IO一、非阻塞IO1、阻塞式:进程条件没有满足时,进程一直在等待,满足条件才返回,期间也不占用资源。常见的阻塞:wait pause sleep等好处:有利于操作系统的性能释放。2、非阻塞式:希望提高效率;实现:O_NONBLOCK(使用open打开文件)和fcntl二、阻塞式IO3、并发式IO4、多路复用IO...

2021-01-07 09:35:11 133 1

原创 matlab读取有特殊符号和分隔符的txt文本数据(使用导入自动生成函数功能)

2020.12.23TXT文本内容如下所示:里面的分隔符有逗号“,” ,空格“ ”,括号“[” “]”。在查看很博文后,发现使用简单的函数无法完成想要的数据读取。这里介绍一种MATLAB自带的数据导入功能,最方便的是可以自动生成所需要的代码。以下图读取最后三列数据为例:步骤如下 :(1)点击MATLAB主页的“导入数据”(2)进入导入数据会看到下图,此时需要选择不需要的分隔符。此例里面的分隔符有逗号“,” ,空格“ ”,括号“[” “]”。(3)然后就只剩下数据了,选择最后三列我

2020-12-23 21:28:31 17613 15

原创 C++学习笔记---合集

1、c语言就是面向过程,c++是面向对象。2、c++的灵魂—类(C语言的灵魂—指针)类的成员可以是变量,也可以是函数。3、如何定义一个类class student{public: char name[64]; char age;};很像C语言的结构体;4、什么是对象对象是类的实例化。(1)直接定义: student my;//student是类;my是对象student是类;my是对象。(2)在堆里面定义 student *my

2020-12-21 22:59:35 145

原创 Qt 5.3 生成可执行文件 .exe (Error while building/deploying project serialAPP (kit: Desktop Qt 5.3 MinGW 32)

如何生成一个可执行文件,且在没有安装过Qt的电脑上也能运行。方法如下:1、生成.exe文件***注意 :项目的文件地址中最好不要有汉字,不然运行的时候很可能提示错误:Error while building/deploying project serialAPP (kit: Desktop Qt 5.3 MinGW 32bit)2、将.exe文件单独复制出来在上图中2处的目录下,将.exe复制出来单独创建一个文件夹。例如:3、给执行文件添加必要的Qt库文件(1)打开Qt命令行(2)

2020-12-21 15:49:15 708

原创 学习笔记-应用编程与网络编程-5(信号+附代码)

2020.12.18信号一、信号概念二、常见信号三、进程对信号的处理四、alarm和pause函数一、信号概念信号是内容受限的一种异步通信机制。目的:用来通信(进程与进程、进程与操作系统内核等)特点:信号是异步的。(不知道什么时候会发生,可看做软件中断)信号本质上是int型数字编号(事先定义好)1、信号由谁发出(1)用户在终端按下按键(2)硬件异常后由操作系统内核发出信号(3)用户使用kill命令向其他进程发出信号(4)某种软件条件满足后也会发出信号,如alarm闹钟时间到会产生SIG

2020-12-19 16:25:03 173

原创 学习笔记-应用编程与网络编程-4(进程+附代码)

2020.12.12linux进程全解一、程序的开始与结束1、main函数的调用2、程序如何结束二、进程环境一、程序的开始与结束1、main函数的调用程序编译链接时,由链接器将编译器中事先准备好的引导代码给链接进去和我们的应用程序一起构成最终的可执行程序。(1)加载器当执行程序时(如使用./a.out或者exec),加载器是操作系统中的程序,加载器负责将这个程序加载到内存中去执行。(2)程序编译链接时使用链接器,运行时用加载器。(3)argc和argv的传参如何实现2、程序如何结束(1)

2020-12-17 21:36:48 204

原创 学习笔记-应用编程和网络编程-3(获取系统信息+附代码)

获取系统信息目录获取系统信息1、时间(1)概念(2)API实战2、随机数3、proc文件系统1、时间(1)概念2020.12.09GMT是格林尼治时间,就是格林尼治地区的时间,作为全球 国际时间,方便描述全球性事件。(起源于天文学)现在越来越多的使用UTC时间(使用原子钟计时)。(1)点时间和短时间(计算机)点时间—一个时刻段时间–一个时间段;段时间=一个点时间 - 一个点时间;(2)定时器和实时时钟定时器(timer)–定的是一个段时间;实时时钟(RTC)–与点时间有关的一个器件。

2020-12-11 22:30:14 135

原创 学习笔记-应用编程与网络编程-2(文件属性+附代码)

文件属性目录一、Linux中各类文件类型1、普通文件二、常用文件属性获取三、文件权限四、读取目录文件一、Linux中各类文件类型1、普通文件(1)文本文件常见的.c .h .txt文件都是文本文件(2)二进制文件二、常用文件属性获取三、文件权限四、读取目录文件...

2020-12-08 22:40:02 147

原创 hexo个人博客+避坑细节问题记录心得

hexo个人博客+细节问题记录左侧菜单栏编辑添加新的菜单三级目录本人博客:左侧菜单栏编辑添加新的菜单三级目录

2020-12-06 13:31:12 151

原创 ubuntu 安装or卸载vs等软件超详细流程

Ubuntu通过浏览器下载安装软件的流程如下:(以vs code为例)1、 软件下载使用自带的浏览器搜索“VS”,进入官网,下载.deb文件。此时,可能发现提示“不支持”,此时的解决方法如下:2、安装软件在打开的终端中,输入如下命令:sudo dpkg -i 安装包名.debsudo dpkg -i code_1.51.1-1605051630_amd64.deb3、查看安装完成的vscode安装完成。欢迎访问个人博客:https://zwx-hh.github.io/

2020-12-05 17:13:55 819

原创 学习笔记-应用编程与网络编程-1(文件+附代码)

2020.11.27典型嵌入式产品的研发过程:(1)让Linux系统在硬件上跑起来(系统移植工作,主要解决驱动问题);(2)基于Linux系统开发应用程序,实现产品功能。*** 基于Linux进行的应用编程,其实就是通过调用Linux的系统API来实现应用需要完成的任务。API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制

2020-12-04 22:16:50 162

原创 重装VirtualBox后,如何还原以前的虚拟机

重装VirtualBox后,如何还原以前的虚拟机如果出现以下情况,需要重新安装VirtualBox,如何解决重现加载原有的虚拟机文件。(1)重装系统,VirtualBox损坏。(2)由于别的情况,VirtualBox损坏。恢复步骤如果出现以下情况,需要重新安装VirtualBox,如何解决重现加载原有的虚拟机文件。(1)重装系统,VirtualBox损坏。(2)由于别的情况,VirtualBox损坏。恢复步骤出现上面的情况,重现安装适合版本的VirtualBox,此时打开软件发现之前创建的虚拟机没

2020-12-04 19:39:17 5206

原创 MobaXterm远程登录VirtualBox中的Linux常见问题

2020.12.021、先检查linux是否开启shh服务。ssh localhost(1)如果提示:ssh: connect to host localhost port 22: Connection refused,则需要下载安装ssh,使用下面命令:sudo apt-get install openshh-server安装结束后,启动sshservice sshd start然后使用命令检查:ps -e | grep ssh如果提示:则需要修改...

2020-12-02 16:22:23 1654 3

原创 学习笔记-uboot常识1

uboot学习笔记12020.11.21uboot(universal BootLoader)-一个主要用于嵌入式系统的引导加载程序(完成下面功能的一个裸机程序)。1、典型的PC启动过程(1)PC上电,首先执行BIOS程序。(2)BIOS程序负责初始化DDR内存,负责初始化硬盘。(3)然后从硬盘中将OS镜像读取到DDR中,然后跳转到DDR中去执行OS,直到启动(OS 启动后BIOS就无用了)。2、典型嵌入式Linux系统启动过程(1)其部署和启动都是参考典型PC机的。(2)uboot程序部

2020-11-26 21:02:05 175

原创 STM32F103串口实现MODBUS通信

Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。Modbus是工业领域通信协议的业界标准,并且现在是工业电子设备之间相当常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有:【1】公开发表并且无版税要求【2】相对容易的工业网络部署【3】对供应商来说,修改移动原生的位元或字节没有很多限制1、实现f103作为从机,上位机作为主机通信(从站程序)。1.1 配置时钟作为保证串口接收数据完整。//通用定时器3中断初始化//APB

2020-11-14 22:53:31 5592 2

转载 Virtualbox共享文件无权限访问

当进入该文件夹时,会发现提示“无权限访问文件”。如下图所示:在虚拟机下查看共享文件夹的属性,目录的所有者是root,所属组是vboxsf。而一般而言我们登录的用户和所属组都是(你的用户名)。而共享文件夹的所有者和所属组是不能修改的。那么将自己登录的用户,添加到vboxsf组中。具体做法如下:(1)执行下面指令:sudo usermod -aG vboxsf $(whoami)作用是将当前用户添加到vboxsf组中。(2)重启ubuntu。...

2020-10-22 18:36:12 454

原创 scopedata数据读取

scopedata数据读取设置scope模块将波形数据以“Array”形式输出到scopedata中。如下图:然后在命令窗口输入:figure;plot(scopeData(:),1);hold on;上面代码输出scopeData数组里面第一列所有数据。将scopeData数组中指定范围内的数据赋值给新的数组。a=scopeData(A1:A2,B);mean(a)将数组scopeData中等A1-A1行B列的数据赋值给a,然后求数据的平均值。...

2020-10-17 19:41:09 2586 1

原创 Simulink仿真模型中的常数符号赋值

对模型中的参数或者是常数符号赋值可以通过下面两种方法:在MATLAB的命令行中直接赋值,然后再运行仿真模型,如下图: 在file->model properties的initFcn*中进行设置。

2020-06-06 00:52:41 5294

原创 Simulink中Fcn函数中变量值的初始化

可以在积分器的初值中进行设置,如下图所示:1.在未设置积分器初始值之前,图像的形状:2.按下图设置之后的显示为:

2020-06-06 00:38:31 3605 1

原创 RS485在STM32中的应用

通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。有别于 USART 还有一个UART(Universal Asynchronous Receiver and Transmitter),它是在 USART基础上裁剪掉了同步通信功能,只有异步通信。...

2020-01-09 14:07:32 1243

原创 MATLAB按位读取纯数据TXT文件数据

clcclose allclearDATA = load('file.txt');[r,c]=size(DATA);n = c/22;L=zeros(3,n);for i=1:n L(1,i)=DATA(1,(22*(i-1))+14); L(2,i)=DATA(1,(22*(i-1))+17); L(3,i)=DATA(1,(22*(i-1))+20...

2019-10-13 15:39:48 1212

原创 MATLAB显示多组三维坐标

clcclose allclear x =[0,50,100]; y =[0,50,100]; z =[0,50,100]; plot3(x,y,z,'*r')xlabel X轴ylabel Y轴zlabel Z轴grid on```![在这里插入图片描述](https://img-blog.csdnimg.cn/20191013135727407.png?x-oss-pro...

2019-10-13 13:58:11 1558 1

stm32f103串口实现简单的mobus协议通信

使用stm32f103的串口usart实现简单的mobus协议通信,这个主要是主站程序,很方便新手学习。

2020-11-14

stm32f103串口实现mobus协议通信

使用stm32f103的串口usart实现简单的mobus协议通信,这个主要是从站程序,很方便新手学习。

2020-11-14

基于labview的单位转换器

基于labview的单位转换器,通过简单的labview的小实验可以让大家学到一点知识

2018-08-28

空空如也

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

TA关注的人

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