- 博客(51)
- 收藏
- 关注
转载 git Extensions使用小结
1、查看仓库2、创建分支然后会自动创建一个 Commit ,推送到远端分支即可。3、合并分支注意1、自动提交需要没有无法自动合并的冲突才行。注意2、快进线指的是将别人的提交原封不动附加到自己分支上,【最近提交】可能会改变。而合并为一个提交则【最近提交】是合并提交4、合并一个 Commit然后推送就行了。5、插件 - jira6、拉...
2020-02-22 14:12:13
3109
原创 结构体中定义函数指针
结构体指针变量的定义定义结构体变量的一般形式如下:形式1:先定义结构体类型,再定义变量struct 结构体标识符{ 成员变量列表;…};struct 结构体标识符 *指针变量名;变量初始化:struct 结构体标识符 变量名={初始化值1,初始化值2,…,初始化值n };形式2:在定义类型的同时定义变量struct 结构体标识符{ 成员变量列表;…} *指针变量名;形式...
2019-09-03 09:55:54
3202
转载 二进制反码求和运算
UDP协议的校验和的计算。 其实本质上来说这个计算原理还是不难的,就是一个二进制反码求和运算,具体来说就是: 0+0=0;0+0=0 1+0=0+1=1;1+0=0+1=1 ...
2019-09-02 17:53:51
18267
9
转载 IP多播技术及其应用
转至:IP多播技术及其应用 http://www.cnblogs.com/iloverain/随着全球互联网(Internet)的迅猛发展,上网人数正以几何级数快速增长,以因特网技术为主导的数据通信在通信业务总量中的比列迅速上升,因特网业务已成为多媒体通信业中发展最为迅速、竞争最为激烈的领域。Internet网络传输和处理能力的大幅提高,使得网上应用业务越来越多,特别是视音频压缩技术的...
2019-08-27 16:53:09
2809
转载 曼切斯特编码和差分曼切斯特编码
转至:WillBeBetter曼切斯特编码和差分曼切斯特编码在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示"1",从低到高跳变表示"0"。还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时...
2019-08-02 14:45:16
9390
3
转载 操作系统为什么会有上下文这种概念?带你深入理解上下文基础知识
转至:https://www.sohu.com/a/201480740_777180谈论进程上下文 、中断上下文 、 原子上下文之前,有必要讨论下两个概念:a -- 上下文上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境;具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。b -- 原子原子(atom)本意...
2019-07-26 09:59:11
3646
原创 对三种频域变换的理解
这三种变换都非常重要!任何理工学科都不可避免需要这些变换。 这三种变换的本质是将信号从时域转换为频域。傅里叶变换的出现颠覆了人类对世界的认知:世界不仅可以看作随时间的变化,也可以看做各种频率不同加权的组合。举个不太恰当的例子:一首钢琴曲的声音波形是时域表达,而他的钢琴谱则是频域表达。 三种变换由于可以将微分方程或者差分方程转化为多项式方程,所以大大降低了微分(差分)方程的计算成本。...
2019-07-22 17:24:06
8973
2
转载 汇编语言入门基础
转至:汇编语言入门教程学习汇编语言,首先必须了解两个知识点:寄存器和内存模型。先来看寄存器。CPU 本身只负责运算,不负责储存数据。数据一般都储存在内存之中,CPU 要用的时候就去内存读写数据。但是,CPU 的运算速度远高于内存的读写速度,为了避免被拖慢,CPU 都自带一级缓存和二级缓存。基本上,CPU 缓存可以看作是读写速度较快的内存。但是,CPU 缓存还是不够快,另外数据在缓存里面...
2019-07-22 10:26:31
612
翻译 谐振软开关技术
随着电力电子器件的高频化,电力电子装置的小型化和高功率密度化成为可能。然而如果不改变开关方式,单纯地提高开关频率会使器件开关损耗增大、效率下降、发热严重、电磁干扰增大、出现电磁兼容性问题。80年代迅速发展起来的谐振软开关技术改变了器件的开关方式,使开关损耗可原理上下降为零、开关频率提高可不受限制,故是降低器件开关损耗和提高开关频率的有效办法。本章首先从PWM电路开关过程中的损耗分析开始,建立谐...
2019-07-18 15:24:59
7632
1
转载 数据结构中的堆栈和内存中的堆栈不是一回事
转至:https://www.cnblogs.com/Jashinck/p/10544023.html这篇博文也很详尽:https://blog.csdn.net/wolenski/article/details/7951961今天看《码出高效》第四章JVM内容时,读到JVM提供了直接控制操作栈的指令时,突然联想到数据结构中对于栈结构的出入栈的操作。遂联想二者之间莫非有什么关联...
2019-07-11 17:46:18
221
转载 怎么理解堆栈指针(Stack Pointer)
如果的堆栈的实现是往上长的(就是说往顶的方向长,其实质是栈底是定死的不能动,入栈的东西只能不断往上叠,这就像在书桌上放书一样,桌底是定死的,所以书只能一本一本地往上堆,往上长),计算机内部的堆栈的实现采取的就是这种模式,所以就得“先修改指针,然后插入数 据,出栈时刚好相反”,因为堆栈指针指向的总是栈顶元素,栈底不能动,所以数据入栈前要先修改指针使它指向新的空余空间然后再把数据存进去,出栈的时候...
2019-06-15 17:23:29
4218
转载 真正明白c语言二级指针
指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的指针.....n级指针就是.... p *p **p...
2019-05-31 16:29:37
231
原创 C++ const用法 尽可能使用const
C++const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int a1=3;...
2019-04-29 09:50:28
160
原创 Qt一些杂记
QWidget关系类图QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,而它们全部继承子QWidget。C++继承:面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个...
2019-04-29 09:48:00
176
原创 SCI波特率计算&FIFO中断标志和使能逻辑位
void scia_fifo_init() //FIFO寄存器配置{ SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback 无环回 SCI通信控制寄存器 // No parity,8 char bits,无校验,8个字符 ...
2019-04-27 14:40:44
2767
转载 TMS320F28335开发板之时钟和看门狗模块
一.时钟模块28335 DSP的额定工作时钟频率是150MHz。高的时钟频率必然会带来电磁干扰,为了减少电磁干扰,必须减小晶振的输出频率。这里引出了“分频和倍频”的概念,正是有了分频和倍频才更容易获得各种频率。28335 分频和倍频的倍数从0.25~10倍之间,而自带晶振是30MHz(我的是这样,大家的可能有所不同),要想获得150MHz,可以先二分频,再十倍频,就可以得到150...
2019-04-27 11:58:09
7394
转载 中断向量
中断向量是中断服务程序的入口地址,在计算机中中断向量的地址存放一条跳转到中断服务程序的跳转指令。中断地址是存储中断向量的内存单元。中断向量表:用来存放中断向量(共256个),它的地址范围是0~3FFH在arm处理器中中断向量的大小为4个字节。在中断向量里面不是存储的中断服务程序的入口地址,而是跳转到中断服务程序的可执行代码。中断号:微机通过中断号对应中断向量值,再通过中断向量的...
2019-04-25 14:14:45
16624
2
原创 Link 的 cmd 文件的作用是什么?
Link 的 cmd 文件用于 DSP 代码的定位。由于 DSP 的编译器的编译结果是未定位的,DSP没有操作系统来定位执行代码,每个客户设计的 DSP 系统的配置也不尽相同,因此需要用户自己定义代码的安装位置。以 C5000 为例,基本格式为:-o sample.out-m sample.map-stack 100sample.obj meminit.obj-l rts.lib...
2019-04-08 09:55:30
1034
转载 什么是锁相环?读懂它的基本组成和工作原理
1.锁相环的基本组成许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步,利用锁相环路就可以实现这个目的。锁相环路是一种反馈控制电路,简称锁相环(PLL)。锁相环的特点是:利用外部输入的参考信号控制环路内部振荡信号的频率和相位。因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率...
2019-03-19 17:30:29
22889
2
转载 两电平apf和三电平apf的区别
三电平 三电平逆变器:拓扑为在两个电力电子开关器件串联的基础上,中性点加一对箝位二极管的三电平逆变器,又称为中性点箝位型(Neutral Point Clamped,简称NPC)三电平逆变器,所示即为三相三电平NPC逆变器拓扑结构,由两个直流分压电容C1=C2、三相逆变电路组成。负载为三相感应电机。 三电平变换器(Tree.Level Inverter)的桥臂上有4个电力半导体器件,...
2019-03-19 09:12:52
17907
转载 PID算法的理解
总所周知,PID算法是个很经典的东西。而做自平衡小车,飞行器PID是一个必须翻过的坎。因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂。并举出PID的形象例子来帮助理解PID。一、首先介绍一下PID名字的由来:P:Proportion(比例),就是输入偏差乘以一个常数。I:Integral(积分),就是对输入偏差进行积分运算。D:Derivative(微分),对输入...
2019-03-12 17:10:34
673
转载 c++中的成员初始化列表语法
class MyClass{private: int a; int b; const int max;.....}对于const数据成员,我们不能像常规的那样使用构造函数来初始化,也就是不能像下面的e.g那么做。对此,c++提供了特殊的语法来初始化const数据成员---成员初始化列表。首先,来看看为什么不能这么做?e.gMyClass(int c...
2019-03-08 16:35:26
381
转载 #ifndef, #define, #endif 作用
#ifndef 它是if not define 的简写,是宏定义的一种,实际上确切的说,这应该是预处理功能三种(宏定义、文件包含、条件编译)中的一种----条件编译。 在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,多个c文件包含同一个h文件也不会报错。 但是在c++语言中,#ifdef的作用域只是在...
2019-02-28 16:58:58
969
翻译 实例分析C程序运行时的内存结构
先验知识静态变量存储在静态存储区,局部变量存储在动态存储区(栈),代码存放在代码区 寄存器,EBP指向栈底,ESP指向栈顶,EIP指向正在执行指令的下一条指令,三个寄存器中保存的都是地址,32位系统,地址为4个字节即dword 所有写在函数定义里面的语句都编译成指令(驱动CPU)#include <stdio.h>int fun(int a, int b);int m ...
2019-02-28 15:56:55
437
转载 什么是句柄?为什么会有句柄?HANDLE
什么是句柄?为什么会有句柄?HANDLE 今天学习Android,看到一个unix函数不明白,但返回值是handle,查了查意思,是句柄的意思,那什么是句柄呢,从网上搜了一些答案,觉得这篇文章比较好,个人认为比wiki的都要讲的好。简而言之,句柄是一种抽象的思想:隐藏了内核实现的细节同时为调用提供了方便保证了内核的安全 从广义上,能够从一个数值拎起一大堆数据的东西都可以...
2019-02-20 11:09:26
1272
2
原创 信号传输中的“终端电阻”怎么使用,有什么规格和作用?
终端电阻是为了消除在通信电缆中的信号反射。在通信过程中,有两种原因因导致信号反射:阻抗不连续和阻抗不匹配。阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,...
2019-01-26 10:14:10
2711
原创 如何求傅里叶变换?
具体求傅里叶变换,有成熟的函数可供调用。本文只讲述如何理解傅里叶变换的思想。如果你掌握了这个思想,不用再记公式,也不用去调用什么函数,自己编个简单程序就可实现。就算你不会编程,只要你学过三角函数,至少可以理解傅里叶变换的过程。傅里叶的伟大之处不在于如何进行傅里叶变换,而是在于给出了“任何连续周期信号可以由一组适当的正弦曲线组合而成”这一伟大的论断。知道了这一论断,只要知道正弦函数的基本特性...
2019-01-15 11:12:56
9836
转载 深入浅出的讲解傅里叶变换(真正的通俗易懂)
转至:https://www.cnblogs.com/h2zZhou/p/8405717.html 博主:小小猫钓小小鱼我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者……这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析。傅里叶分析不仅仅是一个数学工具,更...
2019-01-14 09:18:07
536
转载 TMS320F28335之定时器
定时器系统原理介绍 TMS320F28335的CPU Time有三个,分别为Timer0,Timer1,Timer2,其中Timer2是为操作系统DSP/BIOS保留的,当未移植操作系统时,可用来做普通的定时器。这三个定时器的中断信号分别为TINT0, TINT1, TINT2,分别对应于中断向量INT1,INT13,INT14。图4-2为定时器的结构框图,图中TIMH:TIM为计数寄存器,P...
2019-01-11 15:56:03
3364
转载 dsp 28335 ConfigCpuTimer()详细介绍
转至:dsp 28335 ConfigCpuTimer()详细介绍 博主:timleee我自己的理解;写的不一定对,还请多指教;(博主还是很谦逊的!!)从网上看到的好多都是复制粘贴的一个版本,感觉不太对图上的是系统时钟(SYSCLKOUT)=75MHz;ConfigCpuTimer(&CpuTimer0, 150, 500000);这样不太现实,系统时钟跑75M次是...
2019-01-09 17:25:59
5481
原创 DSP F28335 定时器
(1)F28335 定时器操作原理F28335片上有3个32位的通用定时器,分别为TIMER0、TIMER1、TIMER2。定时器2预留给DSP的实时操作系统BIOS。但是如果没有使用实时操作系统,那么定时器0、定时器1、定时器2都可以被用户使用。定时器的功能如下图:定时器有一个预分频模块和一个定时/计数模块,其中预分频模块包括一个16位的定时器分频寄存器(TDDRH:TDDR)和一个...
2019-01-09 14:30:36
4782
原创 ccs中的pievect.c和pievect.h有什么区别?pievect.c有什么意义呢?
PieVect.h只是定义了table结构体和一个结构体变量,即我们所说的中断向量表;PieVect.c就有点复杂啦。const struct PIE_VECT_TABLE PieVectTableInit = {PIE_RESERVED, // 0 Reserved spacePIE_RESERVED, // 1 Reserved spacePIE_RESERVED, // 2 Res...
2019-01-08 16:15:21
802
原创 ico文件给.exe加图标(以visual studio 2015为主)
平时在用Visual Stdio写一些小程序后,编译完成后没有一个好看的图标。这时候我们可以用ico文件格式来给我们编译通过的程序加上一个你想要的图标。 以下为度娘对ico图标解释:ICOICO是Windows的图标文件格式,图标文件可以存储单个图案、多尺寸、多色板的图标文件。一个图标实际上是多张不同格式的图片的集合体,并且还包含了一定的透明区域。那么问题来了,如何得到ico图片?...
2019-01-08 09:35:26
2911
2
原创 PIE/CPU中断响应过程
A、开始;B、PIEIFRx.y = 1 ?是,转到C,否则等待;C、PIEIERx.y = 1 ?是,转到D,否则等待;D、PIEACKx = 0 ?是,转到E,否则等待;E、中断请求发送到CPU;F、IFRx位置1;G、IERx = 1 ?是,转到H,否则等待;H、INTM = 0 ?是,转到I,否则等待;I、CPU响应,进入中断服务子程序前,DSP硬件自动将I...
2019-01-07 09:28:07
98361
13
原创 常见问题CCS
有时我们在创建了一个自己的CCS的项目文件时会报各种各样的errors,很烦很尴尬。例如下图我创建的一个文件项目(如何创建参考我的一篇文章:创建CCS工程),上图。 创建一个CAN的工程,主函数和需要包含的CAN的头文件也在。但是编译就是要报错而且还很多,都是关于标识符未定义。这就很奇怪啊!都在CAN的头文件夹中。那就是和这个头有关,注释掉在编译一下。咦~~ ,神奇哟!!没有了...
2018-12-19 14:11:42
828
1
原创 JSP学习(二)-----JSP结构
一、JSP结构网络服务器需要一个JSP引擎(JSP容器,是Web服务器组成的一部分。用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应。常用的tomcat、jboss、weblogic都是Servlet容器)。也就是一个容器来处理JSP 页面。容器负责截获对 JSP 页面的请求。其生命周期是由容器来管理,Servlet的生命周期通过java.servlet...
2018-12-17 22:10:56
550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人