自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VSCODE配置C++环境

把下面两个文件复制到.vscode文件夹下。

2023-04-21 14:05:01 212 1

原创 STM32F10X时钟树

STM32F10X外设时钟树。

2022-12-02 20:38:29 249

原创 STM32 bit-band位带操作

如果在裸机开发中,位带操作相比于直接的读-改-写操作除了访问速度快一点以外好像也没有什么可以说的了,但是如果在带操作系统的开发中,多任务并发运行的时候就有可能在任务切换的过程中发生不可预料的问题,而位带操作由于是属于硬件完成的不可被异常打断的操作(原子操作),所以相对于读-写-改的操作模式的话会更安全些。另外,由于位带操作异常不可打断(原子操作),在带操作系统的开发中出于安全性考虑可以使用位带操作。式中:m为位带区的地址(0x2000,0000~0x200F,FFFF),n为位带区对应字节的第0~7位,

2022-11-29 23:29:33 1300

转载 assert_param函数的用法

注意:assert_failed()函数一般在代码调试时使用,可以帮助开发者检查输入参数无效的错误,但由于assert_failed()函数会影响代码执行效率,在程序release时,需要屏蔽掉,将宏定义USE_FULL_ASSERT注释即可。要使assert_failed()函数生效,需要宏定义USE_FULL_ASSERT,并且包含头文件stm32f0xx_conf.h;如果USE_FULL_ASSERT没有宏定义,则执行((void)0),即什么都不做。

2022-11-29 16:55:36 525

原创 果蝇(FOA)优化算法(附完整Matlab代码,可直接复制)

果蝇优化算法的核心是利用果蝇搜索实物的机制来对问题进行寻优。果蝇根据气味来确定食物的位置,食物腐烂程度越高,气味越大,果蝇对其越敏感。

2022-11-02 12:47:50 5193 7

原创 I2C通信协议

I2C通信协议

2022-09-26 12:57:41 3711

原创 超全汇总——常见的芯片封装大全

常见IC封装形式大全

2022-09-22 10:17:46 1301

原创 萤火虫(FA)算法(附完整Matlab代码,可直接复制)

在萤火虫优化算法中,萤火虫发出光亮的主要目的是作为一个信号系统,以吸引其他萤火虫个体。

2022-09-08 13:08:05 9175 27

原创 正余弦(SCA)优化算法(附完整Matlab代码,可直接复制)

正余弦算法是一种随机优化算法,原理简单,易于实现。

2022-09-05 12:05:18 5839 7

原创 数据结构——AVL平衡树(非递归)

AVL平衡树(非递归)

2022-08-30 21:21:19 122

原创 数据结构——AVL平衡二叉树(递归法)

AVL平衡二叉树

2022-08-30 19:10:43 431

原创 数据结构——二叉排序树的删除操作(递归法)

二叉排序树的删除操作(递归法)

2022-08-29 18:41:44 1211

原创 数据结构——二叉排序树的删除操作(非递归)

二叉排序树的删除操作

2022-08-29 16:43:54 4447 4

原创 如何理解typedef+数组\结构体指针

如何理解typedef+数组\结构体指针

2022-08-28 21:12:18 201

原创 数据结构-Dijkstra最短路径算法

Dijkstra最短路径算法

2022-08-27 22:19:16 877

原创 数据结构——Kruskal法最小生成树

Kruskal法最小生成树

2022-08-25 18:08:13 116

原创 数据结构——Prim法最小树生成

Prim最小树生成

2022-08-25 17:21:47 216

原创 数据结构——新建一个图,并深度遍历

新建一个图,并深度遍历

2022-08-24 21:25:16 116

原创 如何理解typedef+结构体数组?

如何理解typedef+结构体数组

2022-08-24 12:12:37 462

原创 数据结构——二叉树的线索化以及线索化输出

二叉树的线索化以及线索化输出

2022-08-20 16:02:06 285

原创 数据结构——新建一棵完全二叉树(C语言动态实现)

C语言动态实现一棵完全二叉树

2022-08-18 22:13:04 3018 1

原创 数据结构——新建一个最简单的排序二叉树(简单易懂)

新建一个最简单的排序二叉树

2022-08-17 18:03:10 465

原创 数据结构——排序二叉树

排序二叉树

2022-08-14 18:52:53 405

原创 数据结构——排序二叉树的前序、中序、后序遍历

二叉树的前序、中序、后序遍历

2022-08-13 17:00:19 312

原创 数据结构——字符串暴力匹配

字符串暴力匹配

2022-08-09 21:42:15 150

原创 数据结构——循环队列

循环队列

2022-08-09 20:36:05 126

原创 数据结构——堆栈

堆栈

2022-08-08 14:43:30 120

原创 数据结构——双循环链表

双循环链表

2022-08-08 11:53:25 78

原创 数据结构——双链表

双链表

2022-08-07 20:57:57 71

原创 数据结构——单循环链表

单循环链表

2022-08-07 16:55:41 227

原创 数据结构——线性链表

线性链表

2022-08-06 11:28:05 63

原创 灰狼(GWO)算法(附完整Matlab代码,可直接复制)

灰狼算法

2022-07-17 00:38:31 18229 45

原创 粒子群(PSO)算法(附完整Matlab代码,可直接复制)

PSO粒子群优化算法

2022-07-12 11:07:26 33464 33

原创 基于状态空间的PID控制

PID控制

2022-07-09 14:00:22 1695

原创 STM32基本定时器TIM6、TIM7

STM32F10XXX定时器资源:STM32F10XXX系列包含TIM6、TIM7两个基本定时器,计数器为16位,其功能比较简单,仅支持向上计数,且只能计时,没有外部I/O口。1、时钟源TIMxCLK:定时器的时钟源来自系统内部时钟,准确来说由APB1预分频器分频提供,因为TIM6、7都是挂载在APB1上的外设。如果APB1的预分频系数等于1,则频率不变,其他情况,频率乘以2,库函数中APB1的分频系数为2,故定时器的时钟TIMxCLK=36*2=72MHz。2、计数器时钟CK......

2022-06-29 13:24:30 2089

原创 STM32F103C8T6引脚图

STM32F103C8T6引脚图

2022-06-22 16:53:22 16543 2

原创 STM32 EXTI外部中断/事件

一、EXTI外部中断/事件功能框图1、中断线路:①-②-③-④-⑤①输入线:有19个中断/事件输入线(联网型有20个),通过寄存器将这些输入线设置为任意一个GPIO。②边沿检测电路:选择上升沿触发、下降沿触发或者上升和下降沿都触发。③或门:选择软件触发或者GPIO输入触发中断。④与门:从或门③输出的信号分为两路,上路经过请求挂起寄存器输出与中断屏蔽寄存器一起控制与门的输出,并将与门④的输出保存至挂起寄存器EXTI_PR。⑤、将EXTI_PR寄存器内容输出至NVIC。2、事件线路:①-②-③-⑥

2022-06-19 17:57:34 2573

原创 Keil新建一个STM32工程文件

Keli新建STM32工程文件

2022-06-16 18:02:04 1261

原创 STM32 通用GPIO I/O口8种输出模式

STM32 通用I/O口8种模式

2022-06-13 14:18:54 4472

原创 数据结构:单向链表

数据结构之单向链表

2022-06-05 16:16:31 79

空空如也

空空如也

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

TA关注的人

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