自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shouwangyunkai666的博客

一枚热爱生活的男青年

  • 博客(139)
  • 资源 (3)
  • 收藏
  • 关注

原创 vscode 画流程图

使用vscode画流程图

2023-09-11 21:22:37 1080

原创 JTAG 简介

介绍了JTAG 工作的基本原理。

2023-09-10 22:31:35 2616

原创 【ARM V8】异常编号和异常优先级

ARM V8支持的最大外部中断数量为496。

2022-05-19 06:07:07 407

转载 C语言中const关键字的用法

文章目录前言一、修饰局部变量二、常量指针与指针常量三、修饰函数的参数四、修饰函数的返回值五、修饰全局变量前言关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定有它的合理性,与预编译指令相比,const修饰符有以下的优点:1、预编译指令只是对值进行简单的替换,不能进行类型检查2、可以保护被修饰的东西,防止意外修改,增强程序的健

2021-12-09 07:25:27 326

转载 C语言中volatile关键字的作用

文章目录一.前言二.volatile详解:一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变量缓存到寄存器;调整指令顺序充分利用CPU指令流水线,常见的是重

2021-12-09 07:00:01 6745

原创 Cortex-m4 处理器框图

文章目录1、操作和执行模式1.1、操作模式1.2、操作状态1、操作和执行模式Cortex-M4 处理器支持 Thread 和 Handler 操作模式,可以在 Thumb 或 Debug 操作状态下运行。 此外,处理器可以通过以特权或非特权模式执行代码来限制或排除对某些资源的访问。有关这些操作和执行模式的更多信息,请参阅 Arm®v7-M 架构参考手册1.1、操作模式导致处理器进入Thread或Handler模式的条件如下:• 处理器在复位时或作为异常返回的结果进入线程模式。 特权和非特权代码可

2021-08-29 22:08:32 2307

转载 FreeRTOS 消息队列

本文转载自: https://www.cnblogs.com/yangguang-it/p/7198622.html本章节为大家讲解 FreeRTOS 的一个重要的通信机制----消息队列,初学者要熟练掌握,因为消息队列在实际项目中应用较多。 消息队列的概念及其作用消息队列就是通过 RTOS 内核提供的服务,任务或中断服务子程序可以将一个消息(注意,FreeRTOS消息队列传递的是实际数据,并不是数据地址,RTX,uCOS-II 和 uCOS-III 是传递的地址)放入到队列。同样,一个或者多个任务可

2020-07-27 06:48:10 681

转载 ROM、RAM、DRAM、SRAM和FLASH的区别

ROM和RAM指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上.

2020-07-25 11:31:11 472

原创 STM32F767与树莓派3B之间的通信

文章目录1、查看树莓派本机IP2、使用SSH远程登录3、连接STM32F767和树莓派4、配置树莓派1、查看树莓派本机IP2、使用SSH远程登录我使用的是 FinalShell ;也可以不使用远程登录,给树莓派插个显示屏和键盘鼠标也行。注意双方需要处于同一局域网下。3、连接STM32F767和树莓派直接使用stm32的串口下载线,一端连接stm32的USB_232接口,一端连接树...

2020-06-21 10:46:08 531

原创 STM32F767将数据写入SD卡

一、FATFS系统1、文件系统是什么?负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。即在磁盘上组织文件的方法。2、FATFS文件系统简介3、FATFS模块层次结构4、FATFS移植步骤5、FATFS常用函数FATFS的源码,大家可以在这个网站上下载到:http://elm-chan.org/fsw/ff/00index_e.html里面有常用函数的讲解...

2020-06-21 10:45:46 4865 6

原创 STM32F103实现双ADC同步采集电压信号

STM32一般都拥有1~3个ADC,这些ADC可以独立使用,也可以使用双重/三重ADC采样模式,本文使用STM32F103ZET6的双重ADC模式,同步采集两个通道的电压信号。一、注意事项1、配置ADC的采样模式为同步规则采样ADC1和ADC2采样模式相同,但其中ADC1为主ADC,ADC2为从ADC。该模式在ADC_CR1寄存器中配置:(具体资料请参详STM32参考手册)2、使能DM...

2020-06-21 10:45:00 27052 14

原创 C++ 中易犯错误

文章目录一、类中不写成员函数一、类中不写成员函数例如:#include <iostream>#include <stdio.h>using namespace std;class MyCicle{public: double r; double pi = 3.1415926; double area = pi * r * r;};int main(){ MyCicle c1; cout << "ple

2020-06-01 09:10:39 282

原创 用面向过程和面向对象的方法求解圆形面积

文章目录一、面向过程二、面向对象面向过程,加工的是一个一个的函数面向对象,加工的是一个一个的类一、面向过程#include <iostream>#include <stdio.h>using namespace std;int main(){ double r = 0; double s = 0; cout << "请输入圆形的半径:"; cin >> r; cout << "r的值是:

2020-06-01 06:53:46 1265

转载 图的基本概念

图的简介     图(Graph)结构是一种非线性的数据结构,图在实际生活中有很多例子,比如交通运输网,地铁网络,社交网络,计算机中的状态执行(自动机)等等都可以抽象成图结构。图结构比树结构复杂的非线性结构。图结构构成 1.顶点(vertex):图中的数据元素,如图一。2.边(edge):图中连接这些顶点的线,如图一。 ...

2020-02-18 17:43:09 614

转载 树的基本概念

----------树的定义          树是 N (N >= 0 )个结点的有限集合,N = 0 时,称为空树,这是一种特殊情况。在任意一棵非空树中   应满足: &nb...

2020-02-14 11:55:40 226

原创 队列

队列也是一种重要的线性结构。与栈相同,实现一个队列同样需要顺 序表或者链表作为基础。与栈不同的是,队列是一种先进先出的的线性表。它要求所有的数据从队列的一端进入,从队列的另一端离开。在队列中,允许插入数据的一端叫队尾,允许数据离开的一端叫队头。一、队列程序实例实现一个链队列,任意输入一串字符,以@为结束标志,然后将队列中的元素逐一取出,打印在屏幕上。#include <stdio....

2020-02-10 17:05:22 129

原创

栈是一种重要的线性结构。栈必须通过顺序表或者链表来实现。栈是一个 先进后出 的线性表,它要求只在表尾进行数据的删除和插入等操作。线性表有两种存储方式,即顺序表存储和链表存储。一般的栈都是用顺序表存储形式实现的,因此也叫顺序栈。一、栈实例利用栈的数据结构,将二进制数转换为十进制数。#include <stdio.h>#include <math.h>#defi...

2020-02-09 10:05:14 124

原创 顺序表

创建一个静态的顺序表存放整数,大小为10,完成以下操作:1、输入6的整数,打印出顺序表中的内容,并显示表中剩余的空间个数。2、在顺序表中第3个位置插入元素0,打印出顺序表中内容,并显示表中剩余空间个数。3、再试图向表中第11个位置插入整数0,程序提示超出范围。4、删除表中第6个元素,打印出顺序表中内容,并显示剩余的空间个数。代码如下:#include <stdio.h>#...

2020-01-04 17:37:34 551

原创 ROS中的ROS_MASTER_URI解析

ROS_MASTER_URI=http://192.168.31.200:11311 中的ROS_MASTER_URI是什么呢?URI(Uniform Resource Identifier,统一资源标识符)就是在IMS网络中IMS用户的“名字”,也就是IMS用户的身份标识。如果需要远程链接,需要在远程服务器将ROS_MASTER_URI变为启动roscore的地址,即master地址:...

2019-11-16 20:42:52 3315

原创 STM32F767时钟树分析

文章目录1、STM32F7 的时钟系统图2、STM32F7 时钟源3、STM32F7 系统时钟4、STM32F7 常用时钟众所周知,时钟系统是CPU的脉搏,就像人的心跳一样。所以时钟系统对于单片机来讲是一个非常重要的东西。STM32F7的时钟系统比较复杂,有多个时钟源,为什么STM32要有多个时钟源呢?因为首先STM32本身非常复杂,外设非常的多,但是并不是所有外设都需要系统时钟这么高的频率,比...

2019-11-10 19:31:39 3095 1

原创 常用的七种排序算法【C语言】

常用的七种排序算法分别是直接插入法、折半插入法、冒泡排序、快速排序、简单排序、堆排序、并归排序。#include <stdio.h>#include <string.h>#define MAXSIZE 20 // 顺序表最大长度typedef int KeyType; // 定义关键字为整数类型ty...

2019-11-09 08:14:58 312

原创 C语言练习笔记 ~ typedef

typedef 是一种高级数据特性,它能使某一类型创建自己的名字。它主要的目的也是简化我们的代码和语法,可以大大提高代码的可维护性。特点:1、typedef 与 #define 不同,typedef 仅限于数据类型,而不是能是表达式或具体的值。2、typedef 是编译器处理的,而不是预编译指令。3、typedef 比 #define 更灵活。示例#include <stdio...

2019-11-05 20:35:21 185

原创 C语言练习笔记 ~ 枚举类型

文章目录例1例2 改变默认值define 一次只能定义1个常量,如果需要同时定义多个常量,则需要使用枚举。例1#include <stdio.h>#include <string.h>#include <stdlib.h>#pragma warning(disable:4996)struct man{ char name[20]; ...

2019-11-05 19:59:17 372

原创 C语言练习笔记 ~ 联合体(共用体)

例1

2019-11-05 10:15:11 304

原创 C语言练习笔记 ~结构体10 ~ 结构体变量作为函数的参数

例1#include <stdio.h>#include <string.h>#include <stdlib.h>#pragma warning(disable:4996)struct student { char name[20]; int age;};void set_student(struct student *...

2019-11-04 21:27:59 162

原创 C语言练习笔记 ~结构体9 ~ 堆中创建结构体变量

例1#include <stdio.h>#include <string.h>#include <stdlib.h>#pragma warning(disable:4996)struct student { char name[20]; //没有在内存里,只是在代码中,必须要定义变量之后才进内存 int age;};stru...

2019-11-04 20:57:41 1269 3

原创 C语言练习笔记 ~结构体8 ~ 结构体变量的指针成员(浅拷贝与深拷贝)

文章目录例1 结构体变量为指针例2 结构体变量赋值(浅拷贝)例3 结构体变量赋值(深拷贝)例1 结构体变量为指针#include <stdio.h>#include <string.h>#include <stdlib.h>#pragma warning(disable:4996)struct student { char name...

2019-11-04 20:27:56 444 2

原创 C语言练习笔记 ~结构体7 ~ 指向结构体的指针

通过指针访问结构体成员-> 操作符(*p).a 等同于 p-> a#include <stdio.h>#include <string.h>#pragma warning(disable:4996)struct student { char name[20]; int age;}; int main () { ...

2019-10-31 13:02:06 181

原创 C语言练习笔记 ~结构体6 ~ 结构体变量赋值

结构体变量赋值#include <stdio.h>#include <string.h>struct student { char name[20]; int age;}; int main () { struct student st1 = {"abc", 30}; struct student st2; st...

2019-10-31 12:47:31 249

转载 欧拉公式

世界上最伟大的十个公式:欧拉公式、麦克斯韦方程组、牛顿第二定律、勾股定理、薛定谔方程、质能方程、德布罗意方程组、1+1=2、傅立叶变换、圆的周长公式。欧拉公式的巧妙之处在于,它没有任何多余的内容,将数学中最基本的e、i、π放在了同一个式子中,同时加入了数学也是哲学中最重要的0和1,再以简单的加号相连。高斯...

2019-10-29 08:06:22 13399 1

转载 用c语言实现的FFT

一、对FFT的介绍1. FFT(Fast Fourier Transformation),即为快速傅里叶变换,是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。2.FFT算法的基本原理      FFT算法是把长序列的DFT逐次分解为较短序列的DFT。      按照...

2019-10-29 08:01:38 2992 2

原创 C语言练习笔记 ~结构体5 ~ 结构体嵌套

例1#include <stdio.h>#include <string.h>#pragma warning(disable:4996)struct A{ char a1; };struct B{ struct A a; int a1; }; int main () { struct B b; p...

2019-10-25 22:34:21 194

原创 C语言练习笔记 ~结构体4 ~ 结构体数组

cpu 处理 int 的效率是最高的,int 比 char 要多占内存而已。

2019-10-25 21:24:17 269

原创 C语言练习笔记 ~结构体3 ~ 结构体的位字段

文章目录结构体的位字段结构体的位字段

2019-10-24 16:35:28 349

原创 C语言练习笔记 ~结构体2 ~ 结构体在内存中的对齐说明

文章目录1、结构体变量在内存中的对齐说明例1 ~ 1个char型变量例2 ~ 2个char型变量例3 ~ 1个int型变量例4 ~ 1个char型变量和1个int型变量例5 ~ 3个char型变量和1个int型变量例6 ~ 5个char型变量和1个int型变量例7 ~ 1个char型变量、1个short型变量和1个int型变量例8 ~ 2个char型变量、1个short型变量和1个int型变量2、...

2019-10-23 21:47:49 195

原创 线性结构 ~ 线性表

文章目录1、如何表示一元多项式?1.1、顺序存储结构直接表示1.2、顺序存储结构表示非零项1.3、链表结构存储非零项2、什么是线性表?2.1、线性表的定义2.2、线性表的抽象数据类型描述2.3、线性表的顺序存储实现2.3.1、主要操作实现(1)初始化(建立空的顺序表)(2)查表(3)插入(4)删除2.4、线性表的链式存储实现1、如何表示一元多项式?1.1、顺序存储结构直接表示但这种方法,...

2019-10-23 19:06:33 384

原创 傅里叶变换 ~ 基 2 时间抽取 FFT 算法

文章目录1、基2时间抽取FFT算法原理2、基2时间抽取FFT算法流图2.1、示例1 ~ 4点的序列表示成两个2点的DFT2.2、示例2 ~ 8点的序列表示成两个2点的DFT2.3、实例演示3、基2时间抽取FFT算法流图特点3.1、蝶形图的关系3.2、旋转因子的规律3.3、序列关系3.4、原位运算4、基2时间抽取FFT算法的复杂度1、基2时间抽取FFT算法原理将一个长序列的DFT,表达为2个短序...

2019-10-22 11:18:54 33710 2

原创 傅里叶变换 ~ FFT概述

文章目录1、为什么研究FFT算法2、解决问题的基本思想FFT (Fast Forier Transform)1、为什么研究FFT算法连续非周期信号x(t)x(t)x(t)的频谱是 X(jω)X(j\omega )X(jω),离散非周期信号的频谱是X(ejΩ)X({e^{j\Omega }})X(ejΩ)。这两个信号从理论上是可以实现时域到频域的转化,但是在工程应用中,由于x(t)x(t)x...

2019-10-21 22:16:35 2964

原创 傅里叶变换 ~ 离散傅里叶变换(DFT)

离散傅里叶变换(DFT)–有限长序列的离散频域表示离散傅里叶变换(DFT)是数字信号处理中非常有用的一种变换,因为它是频域也离散化的一种傅里叶变换。也就是说,时域和频域都离散化了,这样使计算机对信号的时域、频域都能进行计算;另外DFT作为有限长序列的一种傅里叶表示法在理论上相当重要;最后由于DFT有多种快速算法。使得信号处理速度有非常大的提高。离散傅里叶变换(DFT)是离散傅里叶级数(DFS)...

2019-10-21 20:07:03 44745 1

原创 傅里叶变换 ~ 利用 DFT 计算线性卷积

文章目录利用 DFT 计算线性卷积1、线性卷积原理2、DFT 计算线性卷积原理3、乘法运算次数比较4、示例利用 DFT 计算线性卷积1、线性卷积原理线性卷积如下:一个离散序列通过一个离散的线性时不变系统,它的输出就是上面这样一个表达式。也就是说在时域,输出信号等于输入信号和系统的单位脉冲响应 h[K] 的卷积。2、DFT 计算线性卷积原理利用 DFT 的循环卷积特性,可由 DFT 计...

2019-10-21 20:04:59 13335

Cortex-M4 和 ARMv7-m架构.rar

Cortex-M4 内核英文文献,主要讲述了 Cortex-M4 处理器架构,包括处理器、指令集、外设、低功率模式。 ARMv7-M 架构英文文献,主要讲述了ARMv7-M架构的指令集、Debug等知识

2020-07-24

中国计算机学会推荐国际学术会议和期刊目录-2019

CCF推荐国际学术会议和期刊目录分为A、B、C三类,A类为最顶级期刊,B类为非常优秀期刊、C类为优秀期刊。

2019-08-02

中国计算机学会推荐中文科技期刊目录.pdf

CCF推荐中文科技期刊目录分为A、B、C三类,A类为最顶级期刊,B类为非常优秀期刊、C类为优秀期刊。

2019-08-02

空空如也

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

TA关注的人

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