自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 C语言中变量类型的分析总结

变量按作用范围来分可以分为局部变量和全局变量变量 Discription 局部变量 在函数内部定义的变量,函数内部的形参。作用范围在函数内部。 全局变量 在所有函数的外部的申明,称为全局变量 注意,全局变量不属于某个函数,而是整个源文件。如果外部文件要进行调用(比如两个不同的源文件),需要使用extern进行修饰。变量按存储类别分为静态存储、动态存储存储方...

2018-11-23 22:35:44 1105

原创 NVIC设置

NVIC终端优先级分组(Nest Vector Interrupt Control 嵌套式向量中断控制器)CM4内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。STM32F4只是使用了其中的一部分。STM32F40xx/STM32F41xx的92个中断里面,包括10个内核中断,82个可屏蔽中断(常用)```分组寄存器SCB->...

2018-08-10 11:17:19 1559

原创 串口通信USART(STM32F407)

UART和USART并行通信 -----各位同时传输、速度快 、占用引脚资源多串行通信 -----数据按位顺序传输、占用资源少、速度相对较慢``` -----单工 数据传输只支持数据在一个方向上传输 -----半双工 允许数据在两个方向上传输,但同一时刻,只允许数据在一个方向上传输 -----全双工 允许数...

2018-08-09 15:11:03 7106

原创 端口号的作用,及为什么需要端口号

所谓端口号就是具有网络功能的应用软件的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在软件编写时就已经定义)。当然,有很多应用软件有公认的默认的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,这里就不一一列举了。一个软件可以拥有多个端口号,这证明这个软件拥有不止一个网络功能。0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的,而1024...

2018-02-27 20:30:17 29110 5

转载 hal库操作架构

stm32f2xx.h主要包含STM32同系列芯片的不同具体型号的定义,是否使用HAL库等的定义,接着,其会根据定义的芯片信号包含具体的芯片型号的头文件:#if defined(STM32F205xx) #include "stm32f205xx.h"#elif defined(STM32F215xx) #include "stm32f215xx.h"#elif defined(S...

2018-01-26 10:35:59 6293 2

原创 再画封装时,焊盘间距离、引脚余量的选择(经验)

直接进入主题焊盘间距(不是焊盘中心的距离):一般留5-10mil(1mil = 0.0254mm),差不多0.127mm~0.254mm焊盘间距涉及到打样厂商的工艺问题,有的厂家的工艺达不到,建议根据厂商来选择间距。当然间距越小价格自然也是越贵,这个毋庸置疑。引脚余量的选择:很多初学者再画封装的时候,都对引脚余量选多少这个问题很是烦恼,那么下面简单解释一下本人的经验一般引脚宽度余量...

2020-08-29 23:08:46 1313

原创 二极管的结构以及伏安特性

点触式型:结面积小,结电容小,故结允许的电流小,最高工作频率高。面接触型:结面积大,结电容大,故结允许的电流大,最高工作频率低。平面型:结面积可小可大,小的工作频率高,大的结允许的电流大。二极管损坏的两种方式:1、反向击穿2、正向电流过大温度过高。PN结损坏材料 开启电压 导通电压 反向饱和电流 硅(si) 约等于0.5V 0.5~0...

2019-08-11 20:49:51 801

原创 导体、绝缘体、半导体、PN结

导体:铁、铝、铜等低价元素绝缘体:惰性气体,最外层电子受原子核的束缚很强半导体:硅、锗,均为四价元素,他们原子最外层电子受原子核的束缚力介于导体和绝缘体之本征半导体:纯净的晶体结构的半导体。PN结:PN结的形成并不是将P型半导体和N型半导体拼接起来,而是在同一块硅材料上一边加工成p型半导体,一边加工成N型半导体。为什么将自然界导电性能中等的半导体材料制成本征半导体,导电性能差,...

2019-08-11 00:58:03 1405

转载 在AD17中如何自定义板子大小

试用软件版本:Altium Designer 17步骤:1.将模式切换至规划模式  快捷键 1   在菜单栏View>>Board Planning Mode 1这时,我们会发现整个黑框框变成了绿框框了。2.对板子尺寸进行重新定义  快捷键:D+R  在菜单栏>>Design>>Redefine Board Shape ...

2019-04-25 21:21:25 11128 1

转载 AD中如何使用阵列粘贴

转载链接https://blog.csdn.net/a371132/article/details/80606631这个问题经常会用到,所以有必要总结一下,下面以制作29个焊盘为例,其实你可以随便设置的。划重点:先按E然后按A快捷键,设置数量和间距大小。先说一种通用的吧,用特殊粘贴来处理。具体的方法为:1、先放一个焊盘,ctrl+X后选中焊盘2、依次按下键盘上的E,A,...

2019-04-15 11:49:10 27913 2

原创 如何将一个字符串转换为进制可选的整数(strtol)&(结合Linux系统函数chmod写)

C 库函数long int strtol(const char *str, char **endptr, int base)把参数str所指向的字符串根据给定的base转换为一个长整数(类型为 long int 型),base 必须介于 2 和 36(包含)之间,或者是特殊值 0。函数原型下面是 strtol() 函数的原型:long int strtol(const...

2019-03-29 08:48:25 265

原创 数组的内涵(与指针比较)

以下内容 以64位系统为例数组的内涵: (1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;  (2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;  (3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址!数组和指针的区别: (1)数组名作为函数形参时,...

2019-03-16 18:50:50 273

原创 gdb调试

1、gdb调试 1)启动gdb start -- 只执行了一步 n -- next s -- step(单步) -- 可以进入到函数体内部 c -- continue -- 直接停在断点的位置2、查看代码 l -- list (每次默认打印10行)...

2019-03-16 14:52:22 206

原创 makefile详解

1、makefile的编写 1)makefile的命名 2)规则中的三要素:目标,依赖,命令 固定格式: 目标:依赖条件 Tab键 命令(gcc)eg: app:main.c add.c sub.c mul.c gcc main.c add.c sub.c mul.c...

2019-03-15 18:30:24 858

原创 动态库(共享库)的制作及优缺点

1)命名规则 lib 名字 +.so2)制作步骤1、生成与位置无关的代码(生成与位置无关的.o) gcc -fPIC -c *.c -o *.o -I ../include-I 指定头文件路径2、把.o打包共享库(动态库)gcc -shared -o libMycalc.so *.o -I include3)使...

2019-03-13 21:55:52 754

原创 静态库的制作及优缺点

1、静态库的制作1)生成.o文件 gcc -c hello.c2)将生成的.o文件打包 ar rcs 静态库名字 生成静态库所有.o arc rcs libmylib.a *.o3)发布静态库和头文件2、静态库的使用方法1)第一种方法 语法 gcc 主函数 库文件的相对路径 -o 可执行文件 -I 头文件路径 gcc main.c lib/li...

2019-03-13 11:24:50 358

原创 gcc编译中注意的问题

例如在源文件中如何我们的头文件写成#include "head.c",表示在当前路径查找头文件,如果头文件的路径不在当前路径,我们可以通过一下方式指定头文件的路径。gcc hello.c -I ./头文件路径 -o 可执行文件在我们的程序中往往都会有许多调试程序,这些调试程序在完成代码后都是要去掉的,所以为了优化代码和调试代码的方便,在程序中我们是通过#ifdef .... #end...

2019-03-12 11:58:14 408

原创 gcc编译过程

首先第一步预处理:cpp作用:头文件展开,宏替换,注释去掉。具体代码操作如下:gcc -E hello.c -o hello.i第二步:通过编译器C文件变成汇编文件(将预处理完的.i文件进行一系列的词法分析、语法分析、语义分析及优 化后生成响应的汇编代码文件,这是整个程序构建的最核心的部分,也是最复杂的部分)gcc -S hello.i -o hello.s第三...

2019-03-12 11:27:48 203

转载 C语言宏定义和宏定义函数

转自:https://www.cnblogs.com/bytebee/p/8205707.htmlC语言宏定义和宏定义函数 宏定义可以帮助我们防止出错,提高代码的可移植性和可读性等。  在软件开发过程中,经常有一些常用或者通用的功能或者代码段,这些功能既可以写成函数,也可以封装成为宏定义。那么究竟是用函数好,还是宏定义好?这就要求我们对二者进行合理的取舍。  我们来看一个例...

2019-03-10 17:13:18 2451

原创 数据结构中(单链表)

list.hlish.h#ifndef _list_h#define _list_htypedef int ElementType;struct Node{ ElemnetType Element; struct Node *Next;};typedef struct Node* PtrToNode;typedef PtrToNode list;typede...

2019-03-09 12:25:35 535

原创 usart中RS485和RS232之间的联系和区别

RS232和RS485,是两种不同的电气协议,也就是说,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。RS232RS232使用3-15v有效电平UART 因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,...

2019-03-06 12:03:11 2986

转载 (转)单片机程序执行过程

单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。计算机执行程序的过程实际...

2019-03-05 20:03:25 3842 1

原创 带参宏定义和带参函数的区别

在带参宏定义中,不会为形式参数分配内存,因此不必指明数据类型。而在宏调用中,实参包含了具体的数据,要用它们去代换形参,因此必须指明数据类型。这一点和函数是不同的:在函数中,形参和实参是两个不同的变量,都有自己的作用域,调用时要把实参的值传递给形参;而在带参数的宏中,只是符号的替换,不存在值传递的问题。...

2019-03-04 21:42:56 5104

转载 如何使用assert_param

转——如何使用assert_param在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给...

2019-03-04 21:19:28 1108

转载 波特率、发送/接收时钟、波特率因子、传输距离

源:http://mayer.spaces.eepw.com.cn/articles/article/item/59707一.波特率  并行通信中,传输速率是以每秒传送多少字节(B / S)来表示。而串行通信中,传输速率在基波传输的情况下(不加调制,以其固有的频率传送)是用每秒钟传送的位数(bit/s)即波特率来表示,1波特=1位/秒。  最常用的标准波特率是110、300、1000、...

2019-03-03 18:00:43 5518

原创 几种通信方式简介(SPI,I2C,uart,单总线)

通信标准 引脚说明 通信方式 通信方向 uart(通用异步收发器) TXD:发送端 RXD:接收端 GND:公共地 异步通信 全双工 单总线(1-wire) DQ:发送/接收端 异步通信 半双工 SPI SCK:同步时钟 MISO:主输入从输出 MOSI:...

2019-03-03 11:57:22 6343

原创 软场和硬场

 软场:软场传感器比如电容式和电导式,敏感场随混合物的物理性能及成分分布而变化。硬场:具有硬场特性的传感器如核磁共振,其敏感场不受正在成像的介质分布变化的影响,分辨率高。...

2019-01-24 09:30:03 1702

原创 COMSOL学习笔记

问题一:如何在构建的复杂实体中选择内部难以选中的实体?方法:通过滑动鼠标滚轮,将选择域切换到内部实体线框渲染:可以更清晰地观察内部结构显式的作用:COMSOL Multiphysics中的“显式选择”特征可以为单独的几何实体分别创建选择,从而帮助简化模型并优化工作流程。本视频将演示如何创建“显式选择”,并介绍相关可用的选项,同时还将讨论使用此选择工具的优势和限制。参数化扫描:通过参数化扫描...

2019-01-22 15:43:40 8338

原创 局部变量和全局变量

局部变量:在一个函数内部的变量就是局部变量,作用范围在函数内部所有的语句块,即由一对大括号确定其作用范围;注意:局部变量具有屏蔽作用原因:如果内层作用域中定义的变量和已经声明的某个外层作用域变量有着相同的名字,在内层中使用这个变量名,将屏蔽外层作用域的那个变量,直到内存作用域为止,这就是局部变量的屏蔽作用。全局变量:一个变量在所有函数外声明就是全局变量,顾名思义,全局变量就是可以在任何...

2018-12-20 09:48:34 637 1

原创 插入排序

for(i=1;i<10;i++){ k = a[j];//将要插入的数赋值给K; j = i-1; while((j>=0)&&(a[j])>k) { a[j+1]=a[j]; j--; } a[j+1] = k;}其中i时插入元素的位置,j+1为合适的元素插入位置,whil...

2018-12-17 11:58:23 161

原创 typedef定义类型

typedef 原类型名字 新类型名字;typedef int INTEGER:typedef char CHAR;typedef也可以说明结构体typedeff struct{ 数据类型 成员名; 数据类型 成员名; ...;}STU;STU student1;注意:typedef int arr[10];arr a,b;如上a...

2018-12-17 08:20:58 650

原创 RTC时钟操作

RTC(Real Time Clock):实时时钟1、RTC是个独立的BCD定时计数器,提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。2、两个32位寄存器包含二进制码十进制格式(BCD)的秒,分钟,小时(12/24小时制),星期几,日期,月份和年份,此外还可以提供二进制的亚秒值。3、系统还可以自动将月份的天数补...

2018-12-14 16:35:48 4107

原创 枚举类型

enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ...,}枚举变量;例如:enum weekday{ sun, mon, tue, wed, thu, fri, sat,};注意事项:(1)在C语言中,将枚举元素按照常量进行处理,因此也成为枚举常量。既然是常量就不能(在定义之后)...

2018-12-14 11:46:05 166

原创 结构体

结构体:一种构造类型,由若干个成员组成,每一成员可以是一个基本数据类型或者是一个构造类型,也就是说结构体中可以再嵌套结构体。声明结构体使用关键字:struct struct 结构体名字{成员变量(类型 成员名字)}声明一个结构体相当于构造了一个新的类型,可以通过构造类型定义相应的变量。1、定义结构体变量,先定义构造类型,再定义结构体变量。例如:struct...

2018-12-07 11:27:55 300 2

原创 解决在AD18中,当建立原理图库时如何隐藏引脚的问题

其他版本的AD中,在引脚的属性对话框中就有隐藏引脚这一项。但是到AD18就没有了,以下就这个问题提出了解决方案:第一步:点击edit如图1                                                                                                                     图1第2步:...

2018-11-30 20:29:13 14813 13

原创 PCB设计入门

网络标号(Net Label):网络标号表示一个电器连接点,具有相同网络标号的器件表明是电气连接在一起。网络表:连接原理图和PCB的桥梁,网络表正确与否直接影响PCB的设计。网络表的样式很多,通常为ACLII码文件,网络表的内容主要是原理图中各器件的数据及元件之间网络连接的数据,网络表分为两部分,第一部分为元件定义,第二部分为网络定义。绘制电路原理图的原则及步骤建立项目文件(*.Prj...

2018-11-27 21:32:36 1371

原创 Linux常用基本命令大全

lsls -a 显示指定目录下所有目录与文件,包括隐藏文件 -l 以列表的方式显示文件的详细信息 -h 配合-l以人性化的方式显示文件大小隐藏文件和隐藏文件夹是用来配置应用的。通配符的使用*-----代表任意个数个字符?-----代表任意一个字符,至少一个[] ------ 表示可以匹配字符族中的任意一个[abc]----匹配a、b、c中的任意一个...

2018-11-14 09:27:29 44224 3

转载 模电中虚段和虚断在运算放大器中的应用

参看:经典运放电路分析 运放“虚短” 的实现有两个条件:  1 ) 运放的开环增益A要足够大;  2 ) 要有负反馈电路。虚断的存在是无条件的,因为这是由它的内部结构决定的,电流进不去。(当然是理想状态)遍观所有模拟电子技朮的书籍和课程,在介绍运算放大器电路的时候,无非是先给电路来个定性,比如这是一个同向放大器,然后去推导它的输出与输入的关系,然 后得出Vo=(1+Rf)V...

2018-09-17 17:46:41 747

转载 DDS工作原理

DDS工作原理 DDS技术是一种全新的频率合成方法,最早由JOSEPH TIERENY等三人提出,其具有输出频率分辨率高、功耗低、频率切换速度快且频率切换时输出信号的相位连续的特点。为此,了解DDS模块对数字信号处理及其硬件实现有着很重要的作用。 DDS的结构主要由相位累加器、波形存储器、数模(D/A)转换器和低通滤波器等四个大的结构组成。其结构框图如下 图中,相位累加器是由N位加法器与N...

2018-09-16 16:57:23 2453

转载 嵌入式学习路线

 整理了嵌入式linux学习路线供参考,希望对您有所参考价值!一、linux入门 目前嵌入式主要开发环境有 Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。而Linux操作系统也只是一个简单的操作系统,简单的使用对于嵌入式开发人 员来说价值并不很高,真正有价值的是掌握Linux的基本服务和Linux的设计理念、思想,这对于嵌入式开发人员的长期发展是很极其重要的。...

2018-09-13 08:49:24 298

迭代法求立方根.cpp

很多资源只是提供了求解立方根的迭代公式,并没有给出迭代公式的推导过程,作为一名优秀的程序员,我们追求的是算法的思想,而不仅仅是源码那么简单,这里我给出了立方根迭代公式推导的详细过程,以及对应的源码,掌握了思想才能举一反三,今后任意次根都可以通过这个方法求出迭代公式,具体思想减文件的注释

2020-06-08

随机信号分析与处理习题解答-罗鹏飞.zip

随机信号分析与处理习题解答

2019-06-25

空空如也

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

TA关注的人

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