- 博客(37)
- 收藏
- 关注
原创 Matlab Filter函数学习及C语言2阶实现
在Matlab中使用butter函数设计n阶滤波器b、a系数在Matlab中使用将b、a系数传入filter函数实现滤波
2023-04-14 08:10:32
1663
原创 Python Matplotlib.pyplot.plot
Python Matplotlib.pyplot.plot参数markerlinestylecolor参数marker============= ===============================character description============= ==============================='.' point marker',' pixel marker'o' circle
2021-08-25 22:53:02
216
原创 Python json
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-01 23:52:34
288
原创 Analog Noise
目录一、模拟器件噪声有几种表达方式:二、噪声频谱密度、RMS噪声、峰峰值噪声的关系:一、模拟器件噪声有几种表达方式:噪声频谱密度,单位:uV/√Hz RMS噪声,单位:uV 峰峰值噪声,单位:uV二、噪声频谱密度、RMS噪声、峰峰值噪声的关系:RMS噪声=噪声频谱密度*√系统最高噪声频率,假设系统最高噪声频率10KHz,噪声频谱密度0.8uV/√Hz,则RMS噪声为:0.8 uV/√Hz*√10000=80uV 峰峰值噪声=6*RMS噪声(6sigma约等于99.7%采样点的峰峰
2020-08-19 22:31:50
2521
原创 Altium Designer 汉化
测试版本:AD 191、点击右上角“设置”按钮2、System -> General -> Localization -> ✔ -> OK -> OK3、重启
2020-07-28 23:46:53
12893
原创 Android开发——自定义颜色
1.在res/values文件夹中添加文件:color.xml,输入如下代码:<?xml version="1.0" encoding="UTF-8"?><resources> <color name="Red">#f44336</color> <color name="Pink">#e91e63</...
2017-01-17 10:48:12
674
原创 快速排序、归并排序、大顶堆排序、希尔排序代码实现
快速排序 O(n*log2_n) O(log2_n) 不稳定归并排序 O(n*log2_n) O(n) 稳定大顶堆排序 O(n*log2_n) O(1) 不稳定希尔排序 O(n*log2_n) O(1) 不稳定
2016-09-08 00:15:07
687
原创 C++运算符重载示例——复数
#include using namespace std;class Complex{public: Complex(int real = 0, int image = 0) :real(real), image(image) { cout << this << " Complex()" << endl; } ~Complex() { cout << this <<
2016-09-06 20:26:00
541
原创 VS编辑器常用快捷键
代码折叠和展开CTRL + M, CTRL + O 折叠所有代码定义CTRL + M, CTRL + L 折叠和展开所有代码定义CTRL + M, CTRL + M 折叠和展开当前函数代码定义快速注释CTRL + K, CTRL + C 添加注释CTRL + K, CTRL + U 取消注释其他CTRL + K, CTRL + F 格式化代码...
2016-09-01 15:25:58
608
原创 C++中static和const
static修饰成员变量和函数,使其不属于任何一个类实例,而是类的所有实例所共有的。修饰成员变量:必须类外初始化。修饰成员函数:只能使用静态成员变量。总结:静态成员可以在多个对象实例间进行通信,传递信息。
2016-08-24 09:58:10
262
转载 嵌入式中断服务函数的一些特点
中断服务程序需要满足如下要求: (1)不能返回值; (2)不能向ISR传递参数; (3) ISR应该尽可能的短小精悍; (4) printf(char * lpFormatString,…)函数会带来重入和性能问题,不能在ISR中采用。
2016-08-23 19:39:07
1890
原创 C/C++程序编译内存分配情况
栈:由系统管理内存的分配和释放。堆:由程序设计者自行管理,利用malloc等函数或new关键字分配内存,使用完,必须对应地使用free函数或delete关键字释放内存。
2016-08-18 22:26:47
406
原创 UART、IIC、SPI串行通信协议小结
UART:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)引脚:2根 RXD:接收数据 TXD:发送数据数据格式: 起始位 数据位(5/6/7/8) 奇偶校验位(不常用) 停止位数据速率: 波特率:~...
2016-08-18 10:01:35
2108
原创 Linux文件I/O小结
-r 普通文件(regular) -d 目录文件(directory) -b 块特殊文件(block special) -c 字符特殊文件(characterspecial) -p 管道文件(pipe) -s 套接字文件(socket) -l 符号链接文件(symbolic link)
2016-08-17 01:04:14
552
原创 Linux信号小结
SIGKILL 终止一个进程 SIGSTOP 终止一个进程(作业控制) SIGABRT abort()函数产生,进程异常终止 SIGALRM alarm()函数产生 SIGINT 用户中断键产生,(Ctrl+C或Delete) SIGUSR1 用户定义的信号 SIGUSR2 用户定义的信号
2016-08-16 20:49:15
478
原创 Linux进程管理小结
进程控制相关函数:进程创建:fork() vfork() exec()进程终止:exit() wait() waitpid()进程ID:getpid() getppid()
2016-08-16 20:07:05
348
原创 C++ Primer 笔记——第二部分(容器和算法)
顺序容器1) vector:支持快速随机访问2) list:支持快速插入删除3) deque:双端队列
2016-08-07 16:40:44
391
原创 顺序查找
顺序查找是最基本的查找技术。从第一个记录的关键字开始逐个与给定的关键字比较,直到找到相等为止,则查找成功。如果直到最后一个记录都还没找到相等的,则查找不成功。优化利用增减一个“哨兵”,可以减少每一次匹配关键字后的比较是否结束。
2016-07-21 15:11:31
370
原创 Linux网络配置脚本
查看网络配置:ifconfig配置脚本文件:/etc/sysconfig/network-scripts/ifcfg-eth0虚拟机三种网络模式:桥接模式、仅主机模式、NAT模式
2016-06-28 13:13:59
2079
原创 Linux Programmer's Manual
Linux Programmer's Manual1: User commands(用户命令)2: Systemcalls(系统调用)3: Library functions(库函数)4: Devices(设备)5: Files(文件)7: Overviews, conventions, and miscellaneous(杂项) 8: Superuser an
2016-05-03 01:15:49
1609
原创 大小端模式
大端模式:高字节放低地址,低字节放高地址小端模式:高字节放高地址,低字节放低地址一个数0x1234中0x12位高字节,0x34为低字节。51单片机:大端模式80x86微机:小端模式STM32:小端模式以下是测试大小端模式的程序:#include void main(void) { union data { int i; char c;
2016-03-27 12:11:49
379
原创 指针学习笔记(4)——指针与数组
指针变量要点1. 任何指针变量占用的空间都是4个字节(32位机)2. 任何指针变量加1是使它指向下一个元素的地址测试程序void test_1(){ char c; int i; long l; float f; double d; char *pc=&c; int *pi=&i; long *pl=&l; float *pf=&f; dou
2016-03-14 00:57:09
377
原创 浮点数据与4个单字节的转换
前言:在串口、IIC、SPI等数据传送时基本上都是一次传送一个字节的数据,如果要传送浮点数据?通常是将浮点数乘以一个倍数,如10,100,1000,10000等,然后将其转换为整型数据再转化为单个字节进行传送。如果这个数据是要进行显示的话,那么这样做并没有什么不好。但是如果这个数是要传输给另端进行继续计算的话,那么就要考虑另一种方法了,就是直接将浮点数据转换为4个单字节,在另一端接受完数据...
2016-03-05 23:57:46
28291
5
原创 51单片机存储器小结
存储器分为程序存储器(ROM)和数据存储器(RAM),两种又都可以分为片内和片外,片外即需要自己在单片机外部扩展。8051单片机的片内程序存储器有4K,片内数据存储器有256个字节,其中又分为高128字节位特殊功能寄存器区,真正用户能用的RAM只有低128字节。8052单片机有8K片内程序存储器,而数据存储器除了低128字节外还有扩展的高128字节,地址上跟特殊功能寄存器一样,但物理上是独
2015-12-24 21:52:19
5199
1
原创 堆栈的生长方向
堆栈的生长方向从最本质的理解是堆栈入栈方向是从高地址向地地址还是低地址向高地址。从高地址向低地址生长一般叫做向下生长,也叫作逆向生长。从低地址向高地址生长一般叫做向上生长,也叫作正向生长。一般来说堆栈是逆向生长的。51单片机的堆栈生长方向为正向生长,因为执行PUSH指令时先将SP的值加1再将指定的8位数据单元的内容入栈。80x86微机的堆栈生长方向为逆向生长,因为执行PUSH指
2015-12-05 23:01:58
9255
2
原创 冒泡排序法、选择排序法和插入排序法的排序过程
1. 冒泡排序法:n个数从小到大排序,经过n-1趟循环,每次循环中两两比较相邻两个数的大小,前者大于后者则将两数交换,直到最后一个,每次通过不断交换相邻两数将未排序中的最大的那个数交换到排序中的最前一位。2. 选择排序法:n个数从小到大排序,先将第一个数认为最小的数,经过n-1趟循环,每次循环中将认为最小的数与下一个数比较,如果大于则交换这两数,直到最后一个,每次找出未
2015-11-24 00:39:17
1554
原创 单片机和串口设备通讯设计时要注意的几个问题
现在有很多外设喜欢通过UART接口进行通讯控制,比如串口WIFI模块,串口蓝牙模块,串口HMI等等。因为基本上每款单片机都有UART这个硬件设备,这使得通过UART来控制的外设可以在众多单片机系统中使用。单片机和单片机串口通讯,单片机和外设串口通讯,设计时要注意几点:第一, 是最基本,往往也是容易忽略的,就是电平匹配问题。3.3V和5.0V等不同电平的进行通讯时,要进过电平匹配电路,才能
2015-11-08 12:25:37
3972
原创 指针学习笔记(3)——小结
1. 形式如(*)p 的p表示指向什么的指针变量,例如:int * p: p为指向执行数据的指针变量int (*P)[n]: p为指向包含n个元素的一维数组的指针变量,即数组指针int (*p)(): p为指向函数的指针变量,该函数返回一个整形int **p: p为指向一个整形数据的指针变量
2015-10-29 00:27:57
454
原创 指针学习笔记(2)——基本操作
int a[10];int * p;in i;p=a;1. 数组名a代表数组首元素的地址,它是一个指针常量,它的值在程序运行期间是固定不变的。2. “p=a”的作用是将数组a的首元素的地址赋给指针变量p。3. 引用一个数组,可以用下标法,如a[i]或p[i],也可以用指针法,如*(p+i)或*(a+i)。4. [ ]实
2015-10-25 23:59:16
440
原创 指针学习笔记(1)——运算符*
1. 指针是一个地址,而指针变量时存放地址的变量。2. 变量的指针就是变量的地址,存放变量地址的变量是指针变量,它用来指向另一个变量。3. 一个指针变量只能指向同一个类型的变量。4. *指针运算符,取指针所指向的对象的内容。5. *和&两个运算符优先级相同,但按自右而左方向结合。6. *和++两个运算符优先
2015-10-22 20:15:25
431
原创 参考51单片机示例程序要注意的一点
网上买的很多模块的示例程序很多都是基于51内核的,51单片机简单适合入门,但也正是因为简单,在参考51单片机程序设计时需要注意一些东西,今天就简单说一点:51单片机在使用引脚的时候,是不需要配置引脚模式,输入输出模式,驱动模式等,所以在移植51单片机程序的时候千万要注意另一款单片机是否需要配置关于端口设置的寄存器。例如,在数据需要双向传输的引脚,51单片机在数据输入与输出时不需要改变引脚的
2015-10-21 22:04:09
759
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人