自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 PADS如何正确地复制别人库中的元件

一般来说,一个工程项目一个lib,当我们在建立工程的库文件的时候,总是避免不了去用别人现成库中的元件或者封装,复制别人的元件也是十分讲究的,我们应该注意为保证工程库中的元件在其他库移除的时候也能使用,就要将此元件用到的门封装和pcb封装一并复制过来,官方的库一般可以只复制元件,可以自己决定要不是复制上述两个;pads讲究的是一个整体,即元件就是必须要有门封装和pcb封装,简单来说就是一个门封装可以与不同的pcb封装构成不同的元件,同理一个pcb封装也可以与不同的门封装构成不同的元件,实际情况具体考虑。

2023-01-07 23:15:13 1947 1

原创 AD7793驱动程序(详细)

AD7793是一款专门用来测温的芯片,功能强大。使用时MCU需要通过SPI通信总线配置AD7793使其工作,同时也需要SPI总线读取AD数据寄存器的数据。本文简单介绍SPI的通信时序、程序功能,如何简单的通过芯片手册成功配置AD7793芯片。AD7793 是适合高精度测量应用的低功耗、低噪声的模拟/数字转换芯片,内置一个低噪声24 位Σ-Δ 型模拟数字转换器,其中含有3 个差分模拟输入,还集成了片内低噪声仪表放大器,因而可直接输入小信号。

2022-08-24 21:42:54 6062 4

原创 PID控制算法

积分分离:误差突然增大很多,再次出现振荡,设置一个条件,看误差是否大于给定,大于了就不要用积分,只通过P来调节。微分先行:先将传感器传回来的数据传给微分项,后给P和I;I值(积分项)一般表示的是一个稳态误差,积分项不会因为当前误差为0而消失,只是停止积累。前馈控制系统:给一个干扰,测量干扰的大小,再给控制器进行干扰补偿。一般来说PI就可以了,对响应时间有要求的时候再添加进去D项。适用范围:二阶以内的线性系统,满足齐次性和叠加性。D值(微分项)为了消除刚开始P和I项带来的影响。P值是整个控制系统的核心,

2022-08-22 10:54:27 1020

原创 AD(PCB)知识总结

所谓抗干扰有很大一部分是通过降低地线阻抗实现的,因此大量的铺铜或者完整的地平面能够降低地线阻抗,从而增强系统的抗干扰能力;对于电源来说,其传输路径包括电源路径和回流路径地,整个传输路径的压降U=I*R,该路径上的直流电阻R越低,压降就越低。将铜皮变更到top层,记得一定要在机械一层选中铜皮,不然操作失败,也不能重复选中铜皮,正常能看到这样的一层代灌铜皮,接下来使用插件浇筑就好了。对于电源的回流来说,地线和铺铜相连,能让电源最大限度的找到一个最短的回流路径,从而减小电源回路面积,提高系统的抗干扰能力。

2022-08-21 23:09:40 7734

原创 LabVIEW基础

当扩展小数位数的时候会出现小数显示不对的情况:计算机显示的小数位数是有限的,所以计算机自己找了一个最接近这个数的小数来表示,所以浮点数不能作为条件结构选择器的标签值。条件选择器:根据输入数据的值,选择要执行的分支,输入的数据可以是布尔值、字符串、整数、枚举、错误簇。一个循环可以由多各移位寄存器,驯悍中的多个操作都需要使用前面循环的值,则可使用多对移位寄存器保存结构中不同操作的数据值。使用枚举控件,向用户提供一个可供选择的项列表。右键添加事件分支,选择事件源和相应的触发事件,在对应的分支上完成相应的程序。..

2022-08-12 23:03:25 3227

原创 C语言指针(基本指针、函数指针、万能指针)

取变量的地址&表示变量的起始地址定义一个指针变量用来存放变量的地址*p。理解:{}中间的不管,就相当于给结构体起了一个别名,给结构体的指针起了一个别名,给结构体的数组起了一个别名。基本指针的类型转换和变量的类型转换类似,函数指针的类型转换需要确定函数指针的类型再进行转换。类型的作用:决定着指针变量所取空间内容的宽度,决定了指针变量+1跳过的单位宽度。指针所指向一个类型int[3]指针指向的一个数组的指针。在定义的时候:*p表示p是一个指针变量,而不是一个普通的变量。函数指针p的类型就是void (*)().

2022-08-11 23:16:21 746

原创 eslint、路由、嵌套路由、动态路由匹配、全局前置守卫

第一种方法将hash地址中可变定义为参数项,从而提高路由规则的复用性,使用:来定义路由的参数项,this.$route.params.mid可以拿到待显示组件的id值!后面的参数叫做查询参数,可以通过this.$route.query来拿到。路由重定向:当用户访问/的时候,通过redirect属性跳转到/home对应的路由规则中。在模块化导入的时候如果给定的不是具体的文件,则默认导入文件夹下的index.js文件。通过chileren属性添加子路由组件,子路由组件可以不以斜线开头!...

2022-08-11 23:03:52 275

原创 自定义事件、ref属性、动态组件、插槽、自定义指令

如果要把内容填入到指定name的插槽中v-slot后面要跟插槽的名称,指令不能直接用于元素身上,要使用template标签上(是一个虚拟的标签,起包裹作用不会被渲染成实质性的标签元素)如果在声明组件的时候没有为组件指定name名称,则组件的名称默认就是注册时候的名称。组件声明的name名称的主要应用场景是结合keep-alive标签实现组件的缓存功能,在调试工具中能够显示出来的名称。属性可以指定被缓存的组件,可以多个组件名称同时写用,隔开,exclude排除不被缓存两个只能使用一个,不能同时用。...

2022-07-29 23:22:55 265

原创 组件、组件的生命周期(生命周期函数)、组件之间的数据共享(父传子属性传值)

组件组件之间的父子关系:在使用组件的时候,根据彼此的嵌套关系,才形成了父子关系和兄弟关系。使用组件的三个步骤: 当键值对的键等于值的时候可以简写为键。打开工程的时候开发的是哪个项目就打开哪个项目,不要打开一个大的文件夹,不然有的插件用不了。components注册的私有子组件;有缺点!注册全局组件:在main.js中通过Vue.component()方法注册全局组件:eg:导入需要全局注册的组件;参数一:字符串格式,表示组件的“注册名称”,参数二:需要全局注册的那个组件。如果事件要执行的代码只有一行可以直接

2022-06-18 00:00:02 243

原创 过滤器、侦听器、计算属性、axios、vue-cli

过滤器过滤器是可以用在插值表达式和v-bind属性绑定中 | 管道符在自己的区域里面定义的过滤器是私有过滤器如果希望在多个vue实例之间共享过滤器,可以定义一个全局过滤器:Vue.filters(“过滤器名称”,(传入参数)=>{return ………}如果私有过滤器和全局过滤器名字冲突则就近原则调用的是私有过滤器。dayjs库可以对时间进行格式化,导入包之后;var now = dayjs()var now=dayjs(time)dayjs().format() //2019-03-06T08:00:0

2022-06-07 23:51:11 133

原创 vue原理、基本使用

构建用户界面(向html里面填充数据) 框架(是一套现成的解决方案,遵守框架的规范,去编写自己的业务功能)vue指令、组件、路由、vuex、vue组件库特性:数据驱动视图: 数据的变化会驱动视图自动更新;是单向的数据绑定从数据出发到数据视图 双向数据绑定: 在网页中form用于采集数据,ajax用于请求数据。js数据的变化会被自动渲染到页面上页面上表单采集的数据变化,会自动被vue获取,并更新到js数据中好处:开发者不用手动操作dom,来获取表单元素最新的值MVVM: Model表示当前页面渲染时所依赖的

2022-06-06 00:47:55 184

原创 webpack原理

前端工程化与webpack:实际的前端开发:模块化、组件化(UI结构样式的复用)、规范化、自动化前端工程化:在企业级的前端项目中,把前端开发所用的工具、技术、流程、经验等进行规范化标准化。前端工程化的解决方案:webpack主要功能:提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览器端JavaScript的兼容性(程序员可以大胆的写高级代码)、性能优化等强大功能。好处:程序员可以把工作重心放到具体功能的实现上,提高了前端开发的效率和项目的可维护性。安装webpack两个相关的包-S(--save)

2022-06-05 23:48:42 123

原创 ES6模块化、同步异步任务、宏微任务、EventLoop、Promise加强

是浏览器端和服务器端通用的模块化开发标准。ES6模块化规范中的定义:每个js文件都是一个独立的模块导入其它模块成员使用import关键字向外共享模块成员使用export关键字默认导出:export default 默认导出成员export default { n1, show}默认导入:import m1 from './01.默认导出.js'node 中运行js代码:打开终端切换使用cd命令切换当前文件夹,直接node + 需要执行的文件夹名字。默认导出的注意事项:在每个模块中只能使用一次默认导出默认

2022-06-04 00:03:10 323

原创 Git工具的使用及Github的基本使用

使用版本控制软件的好处: 版本控制系统的分类:本地版本控制系统:单机运行,使维护文件版本的操作工具化,不支持多人协作集中化的版本控制系统:联网运行,支持多人协作开发;性能差,用户体验不好,不支持离线提交版本更新,中心服务器奔溃后,所有人无法正常工作,版本数据库发生故障之后,所有历史记录会丢失。SVN分布式版本控制系统:也是基于服务器客户端的运行模式,联网运行,支持多人协作开发,性能优秀,用户体验好,客户端是服务器的完整备份,并不只是保留文件的最新版本,优点:客户端断网之后可以支持离线本地提交版本更新,服务器

2022-06-03 23:48:07 247

原创 HTTP协议加强

通信(信息的传递和交换)的三要素:主题、内容和方式通信协议就是通信双方采用约定好的格式来发送和接收消息,这种事先约定好的通信格式,就叫做通信协议。一种特定的格式客户端与服务器之间要实现网页内容的传输,则通信的双方必须遵守网页内容的传输协议,网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议简称HTTP协议。定义:HTTP 协议即超文本传送协议 (HyperText Transfer Protocol) ,它规定了客户端与服务器之间进行网页内容传输时,所必须遵守的传输格式。例如: 客户端要以HT

2022-06-03 23:35:45 119

原创 同源、同源策略、JSONP、防抖与节流

同源:如果两个页面的协议、域名、和端口都相同,则两个页面具有相同的源同源策略是浏览器提供的一个安全功能A网站的JavaScript不允许和非同源的C网站进行数据交互跨域:是同源的对立面出现跨域的根本原因:浏览器的同源策略不允许非同源的URL之间进行数据交互浏览器对跨域请求的拦截:返回数据但是被同源策略给拦截了。实现跨域数据请求:JSONP是被迫想出来的一种临时解决方案。缺点是只支持get请求,不支持post请求CORS属于跨域的根本解决方案。支持get和post请求,缺点是对低版本浏览器不兼容JSONPsc

2022-05-31 23:01:16 106

原创 Ajax加强

Ajax加强XMLHttpRequest的基本使用通过这个对象可以请求服务器上的数据资源使用xhr发起get请求创建xhr对象、调用xhr.open()函数、调用xhr.send()函数、监听xhr.onreadystatechange事件 // 1. 创建 XHR 对象 var xhr = new XMLHttpRequest() // 2. 调用 open 函数 xhr.open('GET', 'http://www.liulongbin.top...

2022-05-21 23:53:39 89

转载 JS中用.属性名和[属性名]获取对象属性值的区别

对象的属性和方法统称为对象的成员。首先,我们知道:在JavaScript中,可以使用“ . ”和“ [ ] ”来访问对象的属性。在JavaScript中,只能用“ . ”来访问对象的方法。js对象中取属性值(.)和[ ]的区别“ . ”一般作为静态对象使用时来存取属性。而“[ ]”表示法在动态存取属性时就非常有用。如:var object = {name:'xiaoming',age:29};var name1 = object.name;var name2 = object['nam

2022-05-19 00:33:05 1223

原创 封装属于自己的简易模板引擎

封装步骤:定义自己的模板样式、定义数据、自己封装template函数、调用模板渲染HTML页面<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-.

2022-05-19 00:27:17 129

原创 Ajax入门(三种方法、postman接口测试、form表单、模板引擎)

AjaxURL地址叫统一资源定位符,用于标识互联网每个资源存放的地址;组成:1.客户端和服务器之间的通信协议2.存放该资源的服务器名称3.资源在服务器中的具体存放位置客户端:打开浏览器;输入需要访问的网址;回车向服务端发送请求;服务端:接受来自客户端的请求;在内部处理这次请求,找到相关资源;响应发送给客户端过程:请求——处理——响应网页中的常见资源:文字、视频、图片等网页中的数据也是资源;数据是网页的灵魂网页请求数据:如果在网页中请求服务器上的数据资源,需要用到X

2022-05-19 00:21:38 1013

原创 jQuery基础(对象获取、相关方法)

jQuery它对我们常见的js操作dom进行封装是我们开发更加方便(新建.min.js文件,复制Download the compressed, production jQuery 3.6.0中的代码到里面,再在工程中引入就行了) // 2. 等着页面DOM加载完毕再去执行js 代码,入口函数 $(function() { $('div').hide(); })$是jQuery的别称 +-jq对象和dom对象的...

2022-05-15 23:11:05 1732

原创 箭头函数总结、promise原理方法

rest参数:…rest(重点是…)可以获取剩余参数rest参数必须是最后一个形参!!!!箭头函数this指向的总结:全局使用this就是window 定时器中使用(window)以下改变了this指向事件中使用——指向事件源 对象中使用——对象方法不能使用箭头函数(对象中使用箭头函数本来this应该指向对象,但是指向的window,会提升作用域)只有对象方法调用,作用域内的this才指向对象let obj ={name:’张三’,myThis:this}以上的this

2022-05-14 22:38:58 690

原创 ES6新特性

ES6我们使用let定义的i来拿到当前点击li的索引号时会自动形成闭包的情况。所以使用let定义的变量更方便.ES6是泛指es2015之后的版本let申明的变量作用域只存在{}中;var关键字不具备这个特点。不存在变量提升,只能先申明在使用暂时性死区特性:eg: /* -------使用let关键字声明的变量具有暂时性死区特性------- */ var num = 10 if (true) ...

2022-05-13 23:06:47 175

原创 JS面向对象:构造函数和原型、函数的定义和调用、闭包操作、递归函数、深拷贝和浅拷贝

构造函数和原型构造函数函数名一般要大写;构造函数时一种特殊的函数,即为对象成员变量赋初值,它总与new一起使用。我们把对象中一些属性和方法抽取出来,然后封装到这个函数里面new在执行的时候会做四件事情在内存中创建一个新的空对象 让this指向这个新的对象 执行构造函数里面的代码,给这个新对象添加属性和方法 返回这个新对象(所以构造函数里面不需要return)实例成员就是构造函数内部通过this添加的成员,只能通过示例对象来访问在构造函数外面添加Star.sex=’’是静态属性只能通过

2022-05-11 22:47:58 171

原创 swiper插件的使用、本地存储、正则表达式、立即执行函数

swiper插件的使用swiper.com.cn找到想要的轮播图样式,找到下载 解压,找package文件夹下的css和js文件,min文件是经过压缩的,任选复制css和js文件夹到自己的工程里面对应的js和css文件夹中 回到swiper网页找到相应的样式,在新窗口中打开(此方法只限下载的swiper是最新版本的,不然会出错,swiper网站里面演示的都是最新版本的),右键点击查看源码或者找到demos文件夹下的样式 调用时可以找到类名修改相应的样式,可以添加类名实例化不同的类名,设置

2022-05-09 22:57:14 447

原创 client家族、Window对象、JS执行机制、(location对象、navigator对象、histroy对象)

client家族获取元素的可见部分宽高(不包含边框,滚动条等)clientWidth和clientHeight立即执行函避免了命名冲突问题resize事件窗口发生改变触发事件(可以实现rem适配问题) window.addEventListener('resize', function () { // console.log(111) let w = document.documentElement.clientWidt...

2022-05-04 23:14:18 229

原创 Web API——事件监听续、高阶函数、环境变量、时间对象、事件对象、网页特效(scorll家族、offset家族)

事件监听扩展input输入框的search可以用来表示搜索框的类型 search.addEventListener('focus', function () { // 显示下拉菜单 list.style.display = 'block' // 文本框变色 this.classList.add('search') }) // 3. 事件监听 失去光...

2022-05-02 22:10:36 901

原创 使用事件委托监听和使用for循环添加监听的比较

事件委托:利用事件流的特征解决一些开发需求的知识技巧比如给多个子级添加监听事件的时候,需要for遍历完成,利用事件委托就可以直接给父级添加监听(可以提高性能,利用事件冒泡的特点,给父元素添加事件,子元素可以触发),但是不知道是哪个子级被点击了可以获取事件对象(e.target)获取别点击的子级然后进行相应的操作。事件委托添加监听和使用for循环添加事件监听的比较:使用for循环添加监听事件:像这样我们一个一个删除,循环会降低浏览器执行效率,直接给tbody加委托事件能更好的实现for.

2022-05-02 21:21:38 338

原创 Web API(ES6新增JS语法、获取元素修改属性、监听事件)

内部Javascript:直接写在html文件离script标签写在</body>里面外部JavaScript:代码写在以.js结尾的文件里语法:通过script标签,引入到html页面中。内联式Javascript:代码写在标签内部let 变量名(let不允许多次声明一个变量!!)let和var的区别:var声明:可以先使用再声明(不合理)var声明的变量可以重复声明(不合理)变量提升、全局变量、没有块级作用域等通过单引号('')、双引号("")或反引号

2022-04-29 23:17:01 1431

原创 JS基础算法(弹窗计算器、猜数字、秒杀倒计时、不重复数组、字符查找、字符出现次数统计)

function Count(numberOne, numberTwo) { this.numberOne = numberOne; this.numberTwo = numberTwo; this.act = function(sign) { if (sign == '+') { return parseInt(numberOne) + pars...

2022-04-27 22:11:25 453 1

原创 JS面向对象基础

在js中typeof是一个元运算符,放在一个运算数字之前,运算数可以是任意类型。它返回的是一个字符串,该字符串说明运算数的类型。Javascript对象对象是一组无序的相关属性和方法的集合,所有事物都是对象,例如字符串、数值、数组、函数等等。属性:事物的特征,在对象中用属性来表示(常用名词)方法:事物的行为,在对象中用方法来表示(常用动词)对象创建的三种方式:利用字面量创建对象里面的属性或者方法我们采取键值对的形式 多个属性或者方法用逗号隔开 方法冒号后面跟的是一个匿名函数

2022-04-27 21:29:36 90

原创 JS基础—流程控制、函数、作用域、预解析等+判断一个字符串中的最大子串长度

字符串和数字进行加减运算的时候会将数字等转换成字符串进行相加,进行乘除等运算时会将数字字符串转换成数字进行运算否则显示非数字。短路运算(逻辑中断)或与运算的时候表达式结果不是boolean类型的。!!!!!!!!短路运算原理:当有多个表达式时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式。逻辑与语法:表达式1&&表达式2如果第一个表达式值为真,则返回表达式2如果第一个表达式值为假,则返回表达式1如果有空的或者否定的为假(0、’’、 null、undef

2022-04-26 22:47:57 1085 1

原创 计算机组成简介、JS基础(变量、数据类型、运算符)+算法每日练习

计算机语言指用于人和计算机之间通讯的语言,它是人与计算机之间传递信息的媒介。翻译器可以将我们编写的源代码转换成机器语言,这也被称为二进制化。编程语言有较强的逻辑性和行为能力,具有主动性;标记语言不用于向计算机发出指令,常用于格式化和连接。标记语言的存在是用来被读取,他是被动的。计算机只认识机器语言。计算机基础:硬件:输入设备(鼠标、键盘等)、输出设备(显示屏、打印机)、CPU(负责处理数据与运算)、硬盘、内存(负责存储数据,硬盘永久存储数据,内存暂时存储数据);软件:系统软件(windows

2022-04-25 23:47:24 1071

原创 HTML5、CSS进阶————移动端适配、响应式布局、BootStrap框架入门

vw/vh(单位)能够使用vw单位设置网页元素的尺寸相对单位相对于视口的尺寸计算结果vw:viewport width1vw=1/100视口宽度vh: viewport height1vw=1/100视口高度 /* 1. vw = 1/100视口宽度 */ .box { width: 50vw; height: 30vw; background-co...

2022-04-25 22:53:40 1124

原创 HTML5、CSS3进阶——flex续、移动适配问题、less文件简化css

标签的重要性:section网页区块flex续:(子级的尺寸可以自动伸缩)使用flex-direction改变元素排列方向(主轴,侧轴,给父级添加),column;轴旋转之后设置居中属性的时候注意轴方向已经被改变了;tips:align-items:center只能实现垂直居中(错误)。使用flex-wrap;wrap/nowrap实现子级一行宽度不够自动换行;align-content与justify-conten取值基本相同移动端适配rem:目前多数企业都在用的解决方案(就是一.

2022-04-23 17:32:52 229

原创 HTML5、CSS3进阶——动画、空间转换、弹性盒子

动画:目的:使用animation添加动画效果过渡只能实现两个状态之间的变化过程动画效果:实现多个状态的变化过程,动画可控(重复播放、最终画面、是否暂停)定义动画:两个状态的动画变化:@keyframes 动画名称{from{}to{}}多个动画的实现%表示的是动画总时长的占比@keyframes 动画名称{0%{}10%{}15%{}100%{}}里面写css属性使用动画:animation:动画名称 动画花费时长。anima

2022-04-21 22:50:49 218

原创 HTML5、CSS3进阶——动画、空间转换

目的:使用transform属性实现元素在空间内的位移、旋转、缩放等效果,多了一个z轴,z轴正方向指向屏幕外面,3D转换。空间位移目的:使用translate实现元素空间的位移效果语法:Transform:translate3d(x,y,z)Transform:translateX(值)Transform:translateY(值)Transform:translateZ(值)取值:正负都可以像素单位百分比想要看到z轴的效果必须再加一个属性:Perspect

2022-04-19 22:26:50 126

原创 HTML5、CSS3进阶——渐变背景

目标:使用background-image属性实现渐变背景效果是多个颜色逐渐变换的视觉效果,一般用于设置盒子的背景工作中一般不使用这种方式了background-image:linear-gradient(颜色1颜色2);新方法:主流方法background-image:linear-gradient(transparent,rgb(0,0,0,.6));来实现从上到下透明到半透明的渐变z-index实现权重定位的,使标签看不见的方法display:n..

2022-04-19 22:25:08 2038

转载 a标签及其属性

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《a标签及属性》, 一起来围观吧 https://blog.csdn.net/qq_46152483/article/details/119104670?utm_source=app&app_version=5.3.0&code=app_1562916241&uLinkId=usr1mkqgl919blen...

2022-04-18 23:18:25 13638 1

原创 HTML5、CSS3进阶——字体图标、平面转换

1.<link rel="stylesheet" href="字体图标类">在对应的标签直接调用iconfont 图标名2.iconfont上传矢量图生成字体图标(1)与设计师沟通,得到svg矢量图(2)打开iconfont登录上传(小云彩),加入购物车,下载的时候选择添加项目3.平面转换目的:使用transform属性实现元素的位移、旋转、缩放等效果改变盒子在平面内的形态(位移、旋转、缩放)2D转换位移:+x右-x左-y上+y下transform:t

2022-04-18 21:30:57 100

空空如也

空空如也

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

TA关注的人

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