自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(139)
  • 收藏
  • 关注

转载 <IDE>vscode前端常用插件推荐,搭建JQuery、Vue等开发环境

vscode是微软开发的的一款代码编辑器,就如官网上说的一样,vscode重新定义(redefined)了代码编辑器。当前市面上常用的轻型代码编辑器主要是:sublime,notepad++,editplus,atom这几种。比起notepad++、editplus,vscode集成了许多IDE才具有的功能,比起它们更像一个代码编辑器;比起sublime,vscode颜值更高,安装配置插...

2019-09-26 09:13:00 372

转载 <JavaScript> 普通函数与构造函数的区别

JavaScript中存在构造函数与函数两个概念。这可能会给初学者造成一定的困扰,难不成存在两种函数。然而事实这两种函数的构成完全一样,无论从长相还是气质都是一模一样的。区别点在于,所扮演觉得不同,同一个人在不同的场合具有不同的角色。就比如曹操对将要出征的曹彰所说"居家为父子受事为君臣"。同是曹彰,在家里与曹操的是父子关系,领兵在外则是上下级关系。构造函数与普通函...

2019-09-20 14:46:00 271

转载 <JavaScript> 关于闭包和this对象

1.this指向windows是如何得出的var name = "The Window";var object = { name : "My Object", getNameFunc : function(){       return function(){ return this.nam...

2019-09-20 13:39:00 269

转载 <JavaScript> 匿名函数和闭包的区别

匿名函数:没有名字的函数;并没有牵扯到应用其他函数的变量问题。仅仅是没有名字。定义方式:1,var A = function(){ };2, (function (x,y){ })(2,3);3, function() { };闭包:A函数中嵌套着B函数,B程序中有用到A的变量,当外部函数C调用函数A时,虽然A已经执行完毕,理论上函数执行完毕,它就要被弹出...

2019-09-20 10:55:00 200

转载 <JavaScript>谈谈javascript语法里一些难点问题(一)

1) 引子  前不久我建立的技术群里一位MM问了一个这样的问题,她贴出的代码如下所示:var a = 1;function hehe(){ window.alert(a); var a = 2; window.alert(a);}hehe();  执行...

2019-09-19 10:49:00 108

转载 <JavaScript> 寄生继承详解

// 将原型继承和非原型继承组合为一体的继承方式叫做组合继承,但是这种方法的继承是有一点小缺陷的,下级函数继承了无用的属性,所以我们有了寄生继承来解决污染问题;//创建上级构造函数-食物function Food(name, hot, taste){ this.name = name; this.hot = hot; ...

2019-09-19 08:43:00 187

转载 <JavaScript> 组合继承

实现继承的两种模式:原型链继承和借用构造函数继承。这两种模式都存在各自的缺点,所以,我们考虑是否能将这二者结合到一起,从而发挥二者之长。即在继承过程中,既可以保证每个实例都有它自己的属性,又能做到对一些属性和方法的复用。这样就 perfect 了。一、回顾借用构造函数继承的缺点先看我们之前在借用构造函数继承中最后用到的代码: //父类:人 functi...

2019-09-18 14:36:00 78

转载 <JavaScript> 稳妥构造函数模式与工厂模式的区别

稳妥构造函数模式的代码应该是这样的:function Person(name, age, job) { var o = new Object(); // private members var nameUC = name.toUpperCase(); // public members o.sayName = f...

2019-09-18 09:23:00 108

转载 <JavaScript> call()、apply()、bind() 的用法

其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解!先看明白下面:例 1obj.objAge; // 17obj.myFun() // 小张年龄 undefined例 2shows() // 盲僧 比较一下这两者 this 的差别,第一个打印里面的 this 指向 obj,第二个全局声明的 sh...

2019-09-18 08:52:00 83

转载 <JavaScript>可枚举属性与不可枚举属性

在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。一、怎么判断属性是否可枚举 js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的代码遍历其中的属性:1234...

2019-09-16 16:37:00 107

转载 <JavaScript>闭包(closure)

JS中的闭包(closure)闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一.什么是闭包JS中,在函数内部可以读取函数外部的变量function outer(){ var localVal = 30; return l...

2019-09-10 09:57:00 91

转载 <JavaScript>数组的sort()方法中比较函数是怎么工作的

sort()函数比较时调用的是每个数组项的toString()方法,并非按数值大小进行比较,所以往往得不到我们想要的结果。 比如:var values=[0,1,5,15,10]; values.sort( ); alert(values);//0,1, 10,15, 5,数值5虽然小于10,但进行字符串比较时,“10”则位于“5”的前面。所以,这...

2019-09-09 10:39:00 211

转载 <javaScript>谈谈JavaScript中的变量、指针和引用

1、变量我们可能产生这样一个疑问:编程语言中的变量到底是什么意思呢?事实上,当我们定义了一个变量a时,就是在存储器中指定了一组存储单元,并将这组存储单元命名为a。变量a的值实际上描述的是这组存储单元中存放的具体信息。例如,在JS中var a;a=10;第一个语句在存储器中指定了一组存储单元,并命名为a;第二个语句在这组存储单元中存储了数字10。变量a的值为10实...

2019-09-07 14:55:00 97

转载 <JavaScript>为什么0.1+0.2=0.30000000000000004

浮点数运算你使用的语言并不烂,它能够做浮点数运算。计算机天生只能存储整数,因此它需要某种方法来表示小数。这种表示方式会带来某种程度的误差。这就是为什么往往0.1 + 0.2 不等于 0.3。为什么会这样?实际上很简单。对于十进制数值系统(就是我们现实中使用的),它只能表示以进制数的质因子为分母的分数。10 的质因子有 2 和 5。因此 1/2、1/4、1/5、1/8和 ...

2019-09-06 11:48:00 216

转载 <JavaScript>“浏览器模式”和“文档模式”之间的区别

只有IE浏览器中才会有“浏览器模式”和“文档模式”,兼容性视图涉及两个重要的功能便是“浏览器模式【browser mode】”和“文档模式【document mode】”,在IE8/IE9中按F12键,打开“开发人员工具”,在菜单栏中可以看到“浏览器模式”和“文档模式”的切换菜单,其中可以选择切换到IE7/8等不同的网页模式。这个设置之后在js中可以通过navigator.userAge...

2019-09-06 09:11:00 121

转载 <JavaScript>如何阅读《JavaScript高级程序设计》(一)

题外话最近在看《JavaScript高级程序设计》这本书,面对着700多页的厚书籍,心里有点压力,所以我决定梳理一下。。探究一下到底怎么读这本书。本书的内容好像只有到ES5。。。所以只能以后慢慢加了。。。这一系列围绕这一系列文章主要围绕:如何阅读《JavaScript...》全书的脉络是什么?预备知识:像我这种小白,有时真的看的是一脸糊涂。还没想好,,,...

2019-09-05 16:52:00 137

转载 <HTML>在一个表格内嵌套另一个表格时,如何居中?

在一个表格内嵌套另一个表格时,如何居中?假设大表格为:<table id="tableRow"> <tr> <th>City</th> <th>Date</th> <th>Temperature</th> <th>Altit...

2019-09-05 09:12:00 256

转载 前端三大框架(Angular Vue React)

前端,HTML(超文本标记语言),CSS(层叠样式表)和JavaScript(脚本语言)HTML,通常说的h5,其实按标准来说,HTML4的后续版本不带编号了,并保证向前的兼容性CSS的版本3,增加了translate(),能完成以前一定需要js才能做到的动画,同时增加了flex弹性盒子(响应式设计,提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间,以往使...

2019-08-28 14:47:00 780

转载 PCB Layout初学者必会知识总结(转)

PCB是印刷电路板(即Printed Circuit Board)的简称。印刷电路板是组装电子零件用的基板,是在通用基材上按预定设计形成点间连接及印制元件的印制板。该产品的主要功能是使各种电子零组件形成预定电路的连接,起中继传输的作用,是电子产品的关键电子互连件,有“电子产品之母”之称。  本内容为pcb layout初学者整理了相关的技术点及设计经验、技巧等知识,方便初学者快速上手...

2019-07-13 16:56:00 6098

转载 C/C++预处理指令#define,#ifdef,#ifndef,#endif…

本文主要记录了C/C++预处理指令,常见的预处理指令如下:#空指令,无任何效果#include包含一个源代码文件#define定义宏#undef取消已定义的宏#if如果给定条件为真,则编译下面代码#ifdef如果宏已经定义,则编译下面代码#ifndef如果宏没有定义,则编译下面代码#elif如果前面的#if给定条件不为真,当前条件为...

2019-07-13 10:55:00 131

转载 解析.DBC文件, 读懂CAN通信矩阵,实现车内信号仿真

 通常我们拿到某个ECU的通信矩阵数据库文件,.dbc后缀名的文件。 直接使用CANdb++ Editor打开,可以很直观的读懂信号矩阵的信息,例如下图:现在要把上图呈现的信号从.dbc文件中解析出来,供实现自动化仿真总线信号使用,比如使用python+支持can收发的硬件即可替代canoe实现信号仿真(性能上不够用,可满足功能测试所需)。一个标准CAN帧中包含的信息有,消息...

2019-04-29 13:37:00 4174

转载 轻松记住大端小端的含义(附对大端和小端的解释)

原文网址:http://www.cnblogs.com/wuyuegb2312/archive/2013/06/08/3126510.html或许你曾经仔细了解过什么是大端小端,也动手编写了测试手头上的机器上是大端还是小端的程序,甚至还编写了大端小端转换程序;但过了一段时间之后,当你再看到大端和小端这两个字眼,你的脑中很快浮起了自己曾经做过的工作,却总是想不起究竟哪种是大端、哪种...

2019-04-29 10:37:00 107

转载 Motorola和Intel格式报文解析的区别

结论:无论用的Motorola,还是Intel格式,只在单个信号跨字节时解析才有区别。先看下Vector的CANoe中dbc编辑器是如何呈现报文的:图1 CAN报文中byte与bit顺序从图中可以看出,每行表示一个字节的8个位,从右到左依次是bit0, bit1...bit7. 一共有8行,从上到下依次是byte0, byt...

2019-04-29 10:33:00 1483

转载 Intel格式与Motorola格式的区别

Intel低字节在前Motorola高字节在前在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式。究竟两种编码格式有什么样的区别呢?设计者、dbc文件编辑者或者测试人员又该如何判断两种格式,并进行有效正确的配置和解析呢?下面作者给出自己在设计和测...

2019-04-28 16:09:00 422

转载 ADC采样工作原理详解

如何利用单片机的ADC模块(或者独立的ADC芯片)得到接入ADC管脚上的实际电压值?这个问题,是第一次接触ADC时候,大家都会遇到的问题。会读到什么值单片机会读到什么值?需要看一个特性,就是几位的ADC,在手册上就会给出,例如,STM32的ADC是12位的。另外,还有8位,10位,16位,24位等。我先告诉你答案:STM32读到的ADC值,是从0到4095,当你把ADC引脚接了GND,读...

2019-03-11 15:04:00 1587

转载 软件概要设计做什么

软件概要设计做什么,怎么做一、软件设计一般流程:1、先前的软件需求分析阶段,已经搞清楚了 “要解决什么问题”,并输出了《软件需要说明书》。这时一切都是理想。2、现在进入概要设计阶段,重点说清楚“总体实现方案”,确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系。有一些研究与论证性的内容。并输出《软件概要设计说明书》。这时一切都是概念。3、最后进入详细设计阶段,...

2019-02-21 08:51:00 141

转载 共模干扰和差模干扰

①差模干扰差模干扰消除:当干扰信号频率越高时候ZC越小,效果越明显,而低频时电路不受任何影响(电容C的容量范围大致是0.01~0.47μF)②共模干扰共模干扰消除:共模扼流圈工作原理如下:共模电容的工作原理和差模电容的工作原理是一致的,都是利用电容的高频低阻抗,使高频干扰信号短路,而低频时电路不受任何影响。只是差模电容是两极之间短路,而共模电容...

2019-02-19 09:46:00 647

转载 什么是GPIO?

”通用输入/输出口”(GPIO)是一个灵活的由软件控制的数字信号。他们可由多种芯片提供,且对于从事嵌入式和定制硬件的Linux开发者来说是比较熟 悉。每个GPIO都代表一个连接到特定引脚或球栅阵列(BGA)封装中“球珠”的一个位。电路板原理图显示了GPIO与外部硬件的连接关系。驱动可以编写 成通用代码,以使板级启动代码可传递引脚配置数据给驱动。片 上系统 (SOC)...

2019-02-16 17:56:00 953

转载 对于CAN ID的理解

本文主要讲的是自己对于CAN ID的理解,希望对需要的人有帮助,本文以通俗的方式来理解,不涉及到具体CAN通信。在接触CAN之前,应该接触过IIC通信,在IIC通信中,在同一条IIC通信总线上每个device有唯一的ID,后续对于device的操作都是通过唯一的ID号来区分。而CAN ID虽然也叫ID,但是意义却不一样,每个CAN device可以接收和发送多条不同的ID报文。比...

2019-01-21 16:38:00 1067

转载 CAN通信帧ID如何设定?

CAN总线ID是包含在报文帧中的。1、主要用作CAN总线的仲裁使用,所以一般来说网络上的每个节点(向总线上发送)的ID应该有所不同。ID值越低,报文优先级越高,在两组不同ID报文同时上线时候,仲裁机制使得ID值低的占用总线,ID值高的退出。2、ID域可以是11位和29位,其值和含义可以由用户自定义,可以用作高层协议的管理,比如CANopen等协议中把ID的部分做为“源地址”,部分...

2019-01-21 14:54:00 9297

转载 CAN总线报文浅析

CAN的报文格式在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。控制场包括标识符扩展位(IDE),指出是标准格式还...

2019-01-21 14:51:00 803

转载 CAN报文 Intel 格式与Motorola 格式的区别

当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的编码结果没有什么不同,完全一样。当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明显的不同1.信号的高位,即最能表达信号特性的因子,比如:车速信号500km/h按照给定的公 式,转换成十六进制数为0x6A5,因为6代表的数量级最大...

2019-01-21 14:50:00 221

转载 CAN总线为什么要有两个120Ω的终端电阻?

1 CAN总线为什么要有两个120Ω的终端电阻?2 终端电阻的作用是使阻抗连续,消除反射,那为什么只在物理上最远的两个节点加这个匹配电阻,而不是在所有的节点都加上匹配电阻?高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射。对于低频信号则不用CAN总线两端必须连接终端电阻才可以正常工...

2019-01-21 14:44:00 2046

转载 I2C 总线原理与架构

一、I2C总线原理I2C是一种常用的串行总线,由串行数据线SDA 和串行时钟线SCL组成。I2C是一种多主机控制总线,它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以,而I2C 是基于multi master机制,一条总线上可允许多个master。 系统的I2C模块分为I2C总线控制器和I2C...

2019-01-19 17:45:00 441

转载 I2C通信基本原理及其实现

I2C是一种总线式结构,它只需要SCL时钟信号线与SDA数据线,两根线就能将连接与总线上的设备实现数据通信,由于它的简便的构造设计,于是成为一种较为常用的通信方式。 由于I2C采用的是主从式通信方式,所以,通信的过程完全由主设备仲裁。在通信之前,必须由主设备发送一个起始信号,决定数据是否可以开始传送,并且在结束通信时,必须再由主设备发送一个结束信号,以表示通信已经结束。...

2019-01-19 17:44:00 613

转载 A.02.01—功能定义—一般定义

二章将属于较轻松的内容,整个过程也会主要以文字描述为主。  最常见的功能定义为按使用操作来定义,如下面的例子是最普通的:  1)用户将雨刮开关打至高速档,雨刮以高速速率刮刷  2)在电源档位为OFF时,用户将转向灯开关打到左边,左侧的位置灯亮起  3)用户踩下刹车踏板,制动灯亮起  从上述的例子来看,只描述了用户操作方式,却未提到系统信号交互和性能要求,如当用户将雨刮打到高速档时,是一个...

2018-11-23 12:12:00 400

转载 A.02.00—功能定义与唤醒—起始

第一章节主要讲的是模块普通的输入输出,精力及能力有限,仅介绍了一些较为普通的信号,另一些信号留待想了解的人自我探索。  第二章节打算介绍的是功能定义和休眠唤醒相关的内容。也是一些基础内容,对于比较少见或不具备通用性的内容将不提及。  对于整车厂的电器工程师而言,有很大一部分人均需花很多精力去做功能定义,不过随着时间的推移、经验的积累,这个工作所占的比重会逐步下降,对于传统的系统尤其是如此...

2018-11-23 12:11:00 106

转载 A.01.12—模块的输出—通讯(CAN&LIN)

AN和LIN相关的内容很多,今天仅对几年前困扰过我的一个疑问进行说明。  以前最常见的通迅方式为CAN和LIN,但现在也有很多其他的通讯方式了,而这两种通讯方式仍使用广泛。  前几年常听人说CAN的成本和LIN差不多,所以没必要用LIN;而那时又有人说CAN要收发器LIN不需要了,所以LIN还是便宜不少,当时真是很晕乎的。后来看到CAN确实要收发器,而LIN其实也是要的,只是某种情况下被...

2018-11-23 12:10:00 224

转载 A.01.11—模块的输出—输出复用和可配

对于输入来说,高边输入与低边输入可配,那对于输出来说,它有哪些可配的情况呢。  下图中展示了2种常见的类型。  第一种为同一驱动芯片内部的情况。对于OPL与ODL,即PWM低端输出和固态的低端输出,它们是可复用的,但需明确的是对于同一个驱动芯片来说,如果它有OPL口,则完全可以用于固态低端输出口,如果它有ODL口,则不一定能用于OPL口。对于OPH和ODH也是一样的,对同一芯片而言,一个...

2018-11-23 12:09:00 420

转载 A.01.10—模块的输出—PWM高端输出

PWM高端输出比低端输出用得多,如上次提到的卤素灯的控制均是采用高端输出的。  PWM高端输出与PWM低端输出的差异就像固态高端输出与固态低端输出的差异类似,从线路失效后对用户的影响来看:高端输出为控制电源,外部线路短路至地后,负载是不会有电的,因为控制端没给电(诊断到短地后切断输出);而对应于某些无法诊断的情况,假使控制端给电,如果外部短路至地,控制模块也是能自保护的,负载无电流通过,...

2018-11-23 12:09:00 690

空空如也

空空如也

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

TA关注的人

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