- 博客(17)
- 收藏
- 关注
原创 C++ sort函数中利用lambda进行自定义排序规则
C++ sort函数中利用lambda进行自定义排序规则一维vector<>排序在c++中,由于sort()函数默认提供的是由小到大的排序方式,因此有时候我们需要自定义排序规则来实现由大到小的排序。#include <bits/stdc++.h>using namespace std;void printvec(vector<int>& vec){ for(int i = 0; i < vec.size(); i++){
2022-04-23 10:23:49
6855
1
原创 使用python批量处理文本文件中指定的内容
使用python批量处理文本文件中指定的内容代码背景给数据集打标签时,搭上了错误的标签,不利于后续进行图像的识别。因此需要在已经生成的xml文件中修改标签的名称,以便于后续模型的训练。代码import ospath = "E:\ship" #文件夹目录files= os.listdir(path) #得到文件夹下的所有文件名称s = []i=0for file in files: #遍历文件夹 if not os.path.isdir(file): #判断是否是文件夹,不是文
2021-08-06 19:28:32
354
原创 STM32学习心得--外部中断管理
1.外部中断/事件管理框图2. 外部中断函数编写--以按键控制LED为例2.1初始化要连接的GPIO&初始化外部中断结构体查阅指南者原理图,知道KEY1是在PA0,所以要连接在EXTI0,同理,对于连接在PC13的按键KEY2,应该连接在EXTI13。void EXTI_Key_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; /*开启按键G
2021-01-08 12:45:24
1028
原创 STM32学习心得--串行通信相关
1.STM32中与穿行通信相关的寄存器1.USART_SR 状态寄存器,主要用来放置某些标志位2.USART_DR 数据寄存器,用于存放数据3.USART_BRR 波特率寄存器,设置波特率对于用库函数来编写串行通信相关的代码来说,寄存器并不是我们所重点关注的内容,虽然他很重要。如需更多了解,可以查阅“STM32中文参考手册”等2.波特率的计算其中,Fpclkx是给串口的时钟(PCLK1用于USART2、3、4、5,PCLK2用于USART1);USARTDIV是一个无符.
2021-01-06 12:26:11
767
原创 STM32学习心得(八)--初识中断
ST32每个外设都可以单独设置中断,具体操作过程见文件库“core_cm3.h”typedef struct{ __IO uint32_t ISER[8]; //中断使能寄存器 uint32_t RESERVED0[24]; __IO uint32_t ICER[8]; //中断清除寄存器 uint32_t R
2021-01-03 21:40:49
518
原创 STM32学习心得(五)--对gpio硬件电路的理解
STM32中GPIO基本结构为一些推荐的输出/输入模式1.定时器2.串口3.I2C打开stm32f10x_gpio.h文件,下拉到最底部,可以看到有如下几个函数void GPIO_DeInit(GPIO_TypeDef* GPIOx);void GPIO_AFIODeInit(void);void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);void GPIO_Str...
2021-01-03 14:23:12
479
原创 STM32学习心得(七)--RCC时钟树初学习
话不多说,上图观察RCC时钟树可以发现,一共有两个外部晶振输入,一个是HSE(告诉外部时钟信号)(左图),另一个是LSE(低速外部时钟信号)(右图)HSE经OSC_IN管脚管脚进入,当确定 PLL 时钟来源的时候, HSE 可以不分频或者 2 分频,这个由时钟配置寄存器 CFGR 的位 17: PLLXTPRE 设置,我们一般设置为 HSE不分频。然后进入时钟配置寄存器 CFGR 的位 16: PLLSRC。再由时钟配置寄存器 CFGR 的位21-18: PLLMUL[3:0]设置几倍频[2
2021-01-03 11:14:27
311
原创 STM32学习(三)从点亮LED中总结配置GPIO的基本过程
基本过程如下1.使用 GPIO_InitTypeDef 定义 GPIO 初始化结构体变量,以便下面用于存储 GPIO 配置。1.1在"stm32f10x_gpio.h"文件中可以找到gpio初始化结构体typedef struct{ uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. This param
2021-01-02 18:58:35
3083
3
原创 C语言学习-结构体
C语言结构体以构建一个 学生 结构体为例struct stu{ //成员变量 char name[20]; short age; char tele[12]; char sex[5]; };这就是一个最基本的结构体,其中“struct” 是结构体的保留字“stu” 是结构体标签注,结构体定义后一定要在最后加上“;”表明这是一句语句。那么如何调用这个结构体?struct stu{ //成员变量 char nam
2021-01-01 14:25:36
705
原创 C语言多文件编程
C语言多文件编程假设此时要进行多文件编程,以编写一个实现两数相加为例创建如图所示的add.c 和 add.h 文件,在add.c中写函数,然后在add.h中进行声明。调用时,在main函数所在的文件需要包含其头文件(注意此时应该用双引号“”来包含),如#include “add.h”add.c文件add.h文件在编写add.h文件时,应该避免重复定义,这时就需要让编译器进行重复编译检查,前两句话本质上就是设置了一个标志位,因为一旦这个.h文件被包含过,那么就...
2020-12-31 08:34:19
1185
1
原创 c语言数组数据相关的处理
在一有序数组中找到查找一个数获取元素中位数,数组元素个数的方法内容整理自“https://www.bilibili.com/video/BV1oi4y1g7CF?p=8”查找c库函数手册常用的网址:"zh.cppreference.com"int main(){ int arr[] = {1,2,3,4,5,6,7,8,9,10}; int k = 7;//假设要查找7 //获取数组长度(计算元素个数) int sz = sizeof(arr)
2020-12-30 21:45:50
760
原创 STM32学习心得(二)点亮LED灯
STM32学习心得(二)点亮LED灯在创建好工程模板后,就可以开始真正进入STM32的学习。手下那当然是试着点亮一个LED灯。首先在USER目录下创建一个空文件夹,并命名为bsp_led(bsp的意思是板级支持包,即该代码仅支持这块板子),进去文件夹,新建两个文件,分别是bsp_led.c以及bsp_led.h打开工程,把.c文件添加进工程中,同时在路径中设置好.h文件的路径工程建立完成...
2019-05-28 20:37:01
1864
原创 STM32学习心得(一)------创建工程模板
STM32学习心得(一)------创建工程模板通过学习野火STM32视频,初步了解使用固件库编程的第一步—创建工程模板具体步骤如下:(一)、新建一个文件夹,在该文件夹内创建以下几个空文件STARTUP 用来存放ST官方的库CMSIS 存放ARM核心库以及系统时钟配置库USER 用来存放用户写的代码(也就是说需要我们手动写代码的只有这一个文件夹)DOC 用来对该...
2019-05-26 21:55:08
896
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人