自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 直接设计法中控制器D(z)的约束解析

2021-12-02 10:53:07 707

原创 推荐一个视频播放器potplayer

不知道看视频听音频学习的时候会不会有需要重复听,或者打标签的时候,这个软件很好的做到了这一点,右键->播放->书签就可以解决,重复的话播放控制栏上就有,而且精简流畅,真的是好东西。...

2021-10-22 08:02:56 1560

转载 c与c++中的数据分配

一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化

2021-08-25 10:19:08 184

原创 static变量的作用

在C语言中,关键字static的意思是静态的,有3个明显的作用:在函数体内,静态变量具有记忆作用,即一个被声明为静态的变量在这一函数被调用的过程中其值维持不变。在模块内(但在函数体外),它的作用域范围是有限制的,如果一个变量被声明为静态的,那么该变量可以被模块内所有的函数访问,但不能被模块外的其他函数访问。内部函数应该在当前源文件中说明和定义,对于可在当前源文件以外使用的函数,应该在一个头文件中说明,使用这些函数的源文件要包含这个头文件。static全局变量和普通全局变量的区别:static全局

2021-08-24 14:20:57 624

原创 C++构造函数认识

首先,对于一个c++类而言,其必包含三种特别的函数,分别为“构造函数”、“析构函数”、“拷贝构造函数”,所以如果你不主动写的话,编译器会写一个最基本的给你。这是三者的命名方式:class Func(){public: Func()//构造函数:函数名与类名一致(可带参数,可重构,下面再细说) { } Func(const func &clone)//拷贝构造函数:函数名与类名一致,参数形式基本可以认为固定是这样。(我里面没写内容,但一般都是将成员的全部的拷贝,先不用理解) { }

2021-08-23 15:12:16 81

原创 奇怪的错误

***** BUS FAULT *****␍␊[12:07:14:242] E: Precise data bus error␍␊[12:07:14:242] E: BFAR Address: 0x20010052␍␊[12:07:14:242] E: r0/a1: 0x20010052 r1/a2: 0x2000142b r2/a3: 0x00000002␍␊[12:07:14:246] E: r3/a4: 0x000000df r12/ip: 0x00000000 r14/

2021-08-16 14:05:44 890

原创 stm32的资料和其作用

1数据手册:里面主要记载着各个功能的简介一样的东西,还有些硬件封装信息之类的。中文版右上角是有写着数据手册的,英文版没有。2.参考手册:这个是详细的手册,具体介绍了寄存器啊,功能的实现啊一系列的东西,文本量非常大。可以看到中文版右上角是有写着参考手册的,英文版没有,且中文版开头还有5页的那种翻译信息啊,文档使用说明啊,数据手册的下载地址啥的,之后才是对应着的英文版的封面3.总结:其实中文翻译版有将两个文档的作用告诉我们的,比英文版好很多。可以仔细先把那个看了。...

2021-08-14 10:12:53 471

原创 zephyr的设备树文件路径

framework-zephyr/dts/arm/st/f1具体framework-zephyr就要自己看了如果用的是platformio,在其安装路径下可以按照这个路径去找.platformio/packages/framework-zephyr/dts/arm/st/f1

2021-08-14 09:37:49 174

原创 见识骚操作

typedef struct PROTOCOL_HEAD_t { union {//共用体确定好头的大小,结构体再来规范具体的对象?防止字节对齐造成浪费么? uint64_t head : 40;//位域 struct { uint8_t a1 ; uint8_t a2 ; uint8_t cmd ; uint8_t len ; uint8_t cr

2021-08-13 11:22:14 78

原创 CuteCom不能打开串口——需要Linux设置串口权限

在照网上教程正常打开CuteCom后,许多人会遇到Could not open /dev/ttyUSB*,这是因为 ttyUSB的读写权限不够, 更改权限即可,即在终端中输入sudo chmod 666 /dev/ttyUSB。这个语句的意义可参考https://www.runoob.com/linux/linux-comm-chmod.html,用的是八进制语法。简而言之就是给/dev下的所有带有ttyUSB(ttyUSB的“”号是省略符,如果特定某个USB,比如USB0,就写ttyUSB0即可)的文件赋

2021-08-11 16:57:49 2362

原创 回调函数理解

一句话:回调函数就是“用户自定义的处理方法函数”。要理解回调函数,首先要知道回调函数的使用场景。下面引用知乎上的讲解:编程分为两类:系统编程(system programming)和应用编程(applicationprogramming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使用。所以在

2021-08-10 10:55:20 116

转载 用命令行方式使用Doxygen 生成参考文档使用步骤

具体参考:https://www.liuguogy.com/archives/doxygen-generate-reference.html完全按这个连接操作后,那个要生成的东西会在documentation文件夹下,比如可以打开网页类型的,就找该文件夹下的html文件就好了

2021-08-04 19:15:36 904

原创 Modbus和Modbus Rtu和Modbus tcp

Modbus rtu和Modbus tcp两个协议的本质都是MODBUS协议,都是靠MODBUS寄存器地址来交换数据;但所用的硬件接口不一样,Modbus RTU一般采用串口RS232C或RS485/422,而Modbus TCP一般采用以太网口。现在市场上有很多协议转换器,可以轻松的将这些不同的协议相互转换 如:Intesisbox可以把modbus rtu转换成Modbus tcp实际上Modbus协议包括ASCII、RTU、TCP。标准的Modicon控制器使用RS232C实现串行的Modbus。

2021-08-04 10:27:19 1032

转载 ARM内核与架构通俗理解:

ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本 ARM 有不同的想法。比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是内核(不是计算机系统的软件意义上的内核,而是硬件核),后者是指令集的架构。ARM的架构都是基于RISC指令集而架构的,而其内核只是实现这一指令集的硬件架构的基础,Thumb-2指令集架构(ISA)的子集,包含所有基本的16位 和32位Thumb

2021-08-03 18:51:16 2045

原创 STLINK对STM的下载模式

STLink 是由意法半导体公司推出的在线调试编程器,采用5V的USB2.0全速接口进行供电与数据传输,可以方便的对内部固件进行升级,同时支持以 JTAG 或 SWD 模式连接至 STM32 系列微控制器,或者以 SWIM 模式连接至 STM8 系列微控制器...

2021-07-07 17:41:03 172

原创 关于stm32f103(BluePill)的一些认识

名称:BluePill就是stm32f103C8(我估计是其一个最流行的f103C8最小板产品的商品名就是BluePill然后大家都抄这个最小板的样式,于是乎就等同起来了)烧录模式:STM32一共有三种启动模式,在ST官网上下载的RM0008中,可找到启动相关的配置说明:翻译为中文:其一般在bluePill实物中的位置:部分板可能会有自己的创意改造,比如不是用这种短接帽也是改用按键式的。3. 详细描述(三种模式):STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存.

2021-07-06 18:05:08 3323

转载 samba服务器配置的参考文章

https://www.cnblogs.com/csulennon/p/4200181.html

2021-05-16 17:23:42 97

转载 嵌入式Linux要学哪些?

嵌入式Linux要学哪些?一些人总在寻思,怕走了弯路,又怕学的东西离企业需求远。那么今天就请华清远见高级讲师曹大神告诉你,9点浅析嵌入式学习步骤。下面是他本人亲笔。1、要学习Linux,首先要会用,如果不会用怎么知道怎么知道怎么去做,所以需要学习Linux系统的安装及使用。2、学会用Linux了,那么我们就要做一些Linux下的开发了,开发什么呢?看到网上有很多很强大很有趣的程序,我们都可以尝试去做,可是如何去做呢,程序是什么呢,怎么写呢?这时我们需要学习一些语言,比如比较基础的C语言,比如面向对象的C

2021-04-23 22:52:05 1150

原创 二进制原码通过异或运算转化为格雷码的方法

异或转换二进制码→格雷码(编码):在二进制原码的最高位前补一个0(正常人的书写方法下就是最左边补一个0)(这个操作的最终结果实际上就是让原码最高位保持原样),然后再从最低位开始,和前一个进行异或,并将异或结果放到当前位上,最终再去掉补的0得到的就是其格雷码。如0101,补0,00101,逐位异或,0010(X),X=0 xor 1=,00101,001(X)1,X=1 xor 0=1,一直到X=0 xor 0=0,所以原码0101,格雷码为0111...

2021-04-19 23:32:08 1866

原创 keil5安装的一些问题

注意安装的是MDK还是C51安装时的目录一定要想好名字,这玩意改了中间任何一个文件名都会找不到文件现在是2021年了,注册机注意去找最新的,网址(实在找不到在下面留言吧,但一般不可能及时回你们的)stm32的包要自己下,从官网下的时候如果浏览器速度太慢,可以点开下载,然后去复制下载地址贴到迅雷之类的新建一个下载。...

2021-03-29 21:37:06 1239

转载 Matlab 多项式展开或化简(即提取公因式

syms xy = x^2+2*x+1simplify(y)syms xy = (x+1)2+(x-3)3+(2*x-1/2)^2expand(y)绘制函数图像:如果想标注相交点可以:

2020-12-11 21:47:58 12052

翻译 视在功率的意义

视在功率的意义由于视在功率等于网络端钮处电流、电压****有效值的乘积,而有效值能客观地反映正弦量的大小和他的做功能力,因此这两个量的乘积反映了为确保网络能正常工作,外电路需传给网络的能量或该网络的容量。由于网络中既存在电阻这样的耗能元件,又存在电感、电容这样的储能元件,所以,外电路必须提供其正常工作所需的功率,即平均功率或有功功率(这部分是给电阻的),同时应有一部分能量被贮存在电感、电容等元件中。(这部分是无功功率)这就是视在功率S大于平均功率P的原因。只有这样网络或设备才能正常工作。若按平均功率给网

2020-11-23 22:35:25 467

原创 自我整理的零散知识

考虑到学习过程中有许多小知识点,挺零散的,而且很多还不能保证完全的正确,因此写此篇博客用以记录,若以后有更深的理解将归类整理纠正。自我规定的编写规范:分类:课程名称为主,其余暂时以“生活知识”和实在找不到分类的“其他”作为分类时间:包括添加时间和修改时间内容:尽量简短,要写标号,这里主要是存放零散知识的,若有详细解释、证明一类的,用超链接。(经过修改的内容,原文用删除线删去并缩小字号,另起一行完全新写一个说明)分类:计算机控制原理时间:2020.11.7内容:一般模拟信号指电信号,其“模拟

2020-11-07 21:26:59 135

原创 怎样更好地理解并记忆泰勒展开式?

https://www.zhihu.com/question/25627482用户:「已注销」的回答

2020-11-06 20:45:41 101

原创 函数驱魅

“等到康托创立的集合论在数学中占有重要地位之后,奥斯瓦尔德维布伦用“集合”和“对应”的概念给出了近代函数定义,通过集合概念把函数的对应关系、定义域及值域进一步具体化了,且打破了“变量是数”的极限,变量可以是数,也可以是其它对象。”学我们理工科的千万要把这件事情搞清楚,函数并不只有数与数,比如c语言里函数完全可以就是做一件事情,比如单纯的printf,更加数学化的地方比如单位脉冲函数δ(t),其定义不是按照自变量对应的函数值来定义的,而是按照函数对另一个函数的效果来定义的。(所谓测试函数)...

2020-09-06 11:03:57 97

原创 关于单片机读函数的个人见解

我做了几个实验后突然想到一个问题,就是读函数为什么都是按一个字节来读的,明明也有些数据两个字节的,直接写个读两个字节的不好么?上网查了一下发现并没有相关的解答,于是自我思索后想到可能有两个原因。一是硬件一般都是按照一个字节一个字节为单元的,二是因为这个原因,导致即便数据并用不上完整的字节,比如只需要14位来存储数据,但也必须用到完整的两个字节共16个位,即便有两个位是冗余的。于是考虑到通用性,只要我们的读函数是按照一个字节一个字节的读的,那么无论什么硬件的数据都能够完整通用的读取出来,我们最后拼接一下就

2020-09-03 22:12:40 195

原创 三元光栅名词理解

三元指D(目标图像)、P(当前填充颜色)、S(源图像)这三个元素(就像三元一次方程的三元指有三个变量元素)光栅指掩码图(也称为遮罩图),物理上光栅有选择透光的功能。三元光栅投影透明图片的原理可以从现实层面来理解,就是源图像的光透过掩码图构成的光栅选择性投射到目标图像(画板,背景)上。更形象的一种说法是,源图像的光透过镂空的掩码图只在目标图像上显现出掩码图镂空出来的部分(但这个比喻其实已经与光栅不太符合了,只能叫挡板)...

2020-08-19 20:16:15 540

转载 转改easyX使用三元光栅操作实现透明贴图(主要是为了方便自己理解

使用三元光栅操作实现透明贴图基本概念“三元光栅操作”是指源图像与目标图像的位合并操作。操作对象涉及三个:源图像、目标图像、当前填充颜色(注:透明贴图不使用“当前填充颜色”)。位操作包括:AND、NOT、OR、XOR。全部的三元光栅操作码请参考 EasyX 在线帮助:https://docs.easyx.cn/ternary-raster-operations例如,三元光栅操作码“PATPAINT”,查表得对应的布尔功能为“DPSnoo”(逆波兰表示法,其中 D、S、P 分别表示目标图像、源图.

2020-08-19 20:06:33 3137 1

原创 以百元百鸡问题为例的程序运算次数优化简单思路讲解

#include<stdio.h>//该程序解决的问题为公鸡5元每只,母鸡3元每只,小鸡1元每3只,现有100元恰好花完买够一百只鸡,问各种多少只void Plan1();void Plan2();void Plan3();void Plan4();int main(){ //Plan1(); //Plan2(); //Plan3(); Plan4(); return 0;}void Plan1()//该方法因为x,y,z都从0~100因而是101*101*101共

2020-07-22 17:42:10 423

原创 Nyquist稳定判据的一些解释以及应试技巧

上面“显然”的依据如下照例的,有钱捧个钱场没钱给个评论给个赞也好。

2020-06-25 21:22:52 765

原创 两种开环传递函数GH(s)与G(s)H(s)的区别

总的来说GH(s)是连续系统的开环传递函数,G(s)H(s)是离散系统的开环传递函数。这种写法的区别主要是对于离散系统来说,输入信号与传递函数的相乘其需要卷积,卷积的对象就是两个相互离散的传递函数那么根据L变换的卷积性质可知L[G1*G2]=L[G1]L[G2],而连续系统由于不用卷积, 比如G1(s)与G2(s)间是离散的(结构图上就是有断点或是叫取样点,G1是通过取样器和保持器离散的传递给G2的),单位负反馈H(s)则是和G2保持连续的,此时我们也假定H和G1间是连续的,那么其闭环脉冲传递函数就会是可

2020-06-19 19:31:49 11834

原创 详解峰值时间为什么等于阻尼振荡周期的一半

觉得还不错就点赞评论,最好就打赏一下吧,穷学生不容易

2020-04-10 23:36:47 1240 1

原创 详解上升时间tr为什么小于半个(阻尼)振荡周期

免得有人不经许可利用以图片形式放出,若是对大家有用请点赞留言,最好是能打赏一下啦

2020-04-10 22:29:46 2624

原创 负反馈判断

8.1.3 正反馈与负反馈看引入反馈后(把反馈电阻(电路)连上),相比引入反馈前(把反馈电阻断开),电压差值增大了还是减小了(运放:)大了是正反馈,小了是负反馈...

2020-03-13 18:29:12 390

原创 超详细的虚短解释,一定对你理解模电知识有帮助

放图片并不是为了为难大家,实在是现在白嫖还不留名的风气太恐怖,本来就是个穷学生,没人给我打赏就算了(就一块钱也行啊o(╥﹏╥)o),毕竟都是穷学生,我也是个穷人家的孩子知道钱来的都挺不容易的,但有些直接拿走当自己的东西,特别是我那个单片机程序,那是我送给我妈的“母亲节礼物”从早上八点开始敲到晚上7点多的东西啊!很多原创性的新增和解释在里面,就那么给人不注明出处的白嫖了!!!,还请各位要是对你们有...

2020-03-13 18:23:27 221

原创 在多因素处理时,某因素过低时对结果产生跳变影响的简单通用函数模板

利用反比例函数实现函数通式:Y=B-A/X参数解释:Y为我们要用的结果。B为"补偿常数"。A为"跳变位置常数"。X为"自变量"。C为隐藏起来的一个参数我称为"跳变确认门槛常数",最后会有解释举例解释与常数选取:假设我们研究多因素对浪漫气氛的影响,X是其中之一我们假设其为噪声指数。显然,如果周围环境的噪声到达一定指标时就算你们在高档餐厅桌子上摆着玫瑰就餐也不可能感到浪漫气氛(如旁...

2020-01-17 20:23:02 184

原创 基于51的蜂鸣器演奏(真的爱你)

基于51的蜂鸣器演奏(真的爱你)先说明,这个我上网找过,没有真的爱你的蜂鸣器演奏,我的程序框架是照搬网络上某位大佬的,主要是编好了真的爱你的谱子,本来也想加8*8出最后两个字的歌词的,但想不通我出现了什么问题导致爱的第一个音拖很长,而且歌词也不同步。!!!:后来发现原来是“爱你”专用的程序比较长如果第二重延时循环还是8000那么大的话能有几分钟的时间…所以就换了 #include "...

2019-05-11 20:32:33 2958 2

原创 求声速

// 相位法和驻波法只是记录数据的方法不同处理数据是一样的L=input('请输入所有的L组成的数组(单位是mm)L=');n=length(L)/2;%确定数组长度Ln=L(n+1:2*n);%分成后半和前半数组,方便使用逐差法处理数据Lk=L(1:n);lambda_2=(Ln-Lk)./n;%用数组减法对应元素相互减,点除得波长一半lambda_2_=sum(lambda_2)/...

2019-04-12 20:58:11 372

原创 基于北邮出版的胡西多主编的第二版大学物理实验的自制MATLAB数据处理程序

以28页实验1为基础编写的较通用数据处理程序function [outputArg1,outputArg2,outputArg3] = Physical_Ex(inputArg1)%Physical_Ex 用于处理物理实验数据% 仅仅只需要输入实验的数据和仪器误差即可返回[平均值,标准差,综合误差]k=1:inputArg1;disp(['有',num2str(inputArg1)...

2019-04-02 10:01:59 336

虚短的详细分析.doc

一个穷学生在模电学习中对虚短的超详细解释,一定会使得你对学习模电时对虚短的理解十分深刻。要说明虚短之前,首先要先从反馈说起。 1.反馈,即闭环,其会将输出信号传回输入端,而相对于增益系数A,反馈也有一个反馈系数F。 2.我们知道虚短的结论是使得,即,其一般条件是深度负反馈,常见条件是运放是理想的且引入的是负反馈,那么深度负反馈和理想运放是什么关系又是怎么导致虚短这一结论的呢?下面我们就来分析。(上文和下文都是在默认用运放来举例,但实际上只要满足深度负反馈就会有虚短,并不区分构成虚短的元件是什么都是可以的)

2020-03-13

空空如也

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

TA关注的人

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