自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【一篇就够了】esp32点亮第一颗led灯(Arduino和vscode+platformio两种)

esp32环境搭建

2022-09-25 23:45:29 1723 1

转载 stm32单片机引脚_如何将单片机的引脚配置为上拉输入

设置单片机IO上下拉输入

2022-06-23 22:58:44 602

原创 重映像(STM32)

开发板有的端口复用了,比如野火PBx是led灯,这几个就不能用了,TIM要想用跟它重复得端口则不行,需要重映射

2022-06-23 17:38:29 288

转载 gpio工作模式详解

转载在学到后面的知识时经常惯性的直接使用gpio的复用输出模式而没有考虑其他情况 在此学习补充

2022-05-23 10:24:55 113

原创 (手把手)使用git&gitee版本控制keil5代码(一篇就够了)

声明:此博客内容默认已经掌握git的基本配置(用户名,密码,SSH key已配置好)介绍的是使用git上传(修改)一个项目到gitee的最基本操作:1.首先进入你要修改的文件所在的文件夹内(可用cd命令,也可以自行手动打开文件夹)先放上我的工程目录,后面的操作是基于此开展的。先放上我的工程目录,后面的操作是基于此开展的。ProjectUser基本流程:1.初始化先初始化仓库2.创建仓库先像我这样建就可以用,其他的我暂时还没有配置过,欢迎大佬看到了补充一下hhh.创建完成之

2022-04-18 20:43:33 3297 1

原创 dfs全排列

//输入1~9之间的数,输出全排列#include<iostream>using namespace std;int n,book[11],array[11];void dfs(int step){ if(step==n+1) { for(int i=1;i<=n;i++) { printf("%d",array[i]); } printf("\n"); return; } for(int i=1;i<=n;i++) { if(

2022-04-08 23:32:47 214

原创 暴力搜索解决日期问题

//闰年的2月为29天,非闰年为28天 #include<iostream>#include<stdio.h>using namespace std;int max_days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//判断年月日是否合法 bool check(int year,int month,int day){ if(month==0||month>12)return false; if(day==.

2022-04-08 14:30:03 201

转载 利用单片机PWM信号进行舵机控制

在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过

2022-03-28 21:51:43 3109

转载 舵机的相关原理与控制原理

什么是舵机:在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。还是看看具体的实物比较过瘾一点:[点击将在新窗口查看全图]其工作原理是:控制信号由接收机的通道进入信号调...

2022-03-28 21:49:27 2507

原创 pwm使用中断

pwm使用中断时需要多配置的东西:1.NVIC中断 定义之后放在配置pwm模式函数中2.在头文件定义中断名及对应中断服务函数 并在it.c文件写中断服务函数(修改CRR寄存器的值改变占空比)3.使能TIM更新中断(TIM_ITConfig) 否则进不了中断以上为本人自身的理解,如有错误或补充,不胜感谢。...

2022-03-27 20:04:00 2840

原创 TIM定时器_CNT_ARR_PSC_CRR

TIM时钟频率72MPSC=71,TIM时钟经PSC分频后得CNT计数器时钟频率,72M/(71+1)=1MHz.CNT从0计数到ARR后产生中断,计数器清零开始重新计数.ARR即周期CCR:库函数将Pulse写入CCR寄存器,CCR输出比较寄存器与CNT比较,当CNT小于设置得值输出高电平,否则输出高电平。以上为我个人得理解 有不对的地方欢迎大家指正补充...

2022-03-25 22:17:41 7017 1

转载 【STM32知识点】关于不同外设中断标志位清除的使用笔记

在使用中断函数的时候,我们往往忘记在中断服务函数内清除中断标志位而导致一些未知错误。以下我总结了几个外设关于中断标志位的清除问题。定时器:1、在程序有使用到中断的情况下,定时器在使能之前需要先清除更新中断标志位,否则会出现定时器一使能就进入中断的现象。2、常规情况下,在进入中断服务函数以后,需要软件清除标志位。3、如果使用HAL库的话,并且有使用到回调函数的话,不需要用户自己清除中断标志位,因为中断服务函数调用的HAL_TIM_IRQHandler这个函数里面已经包含了清除中断标志位,以及回调函数

2022-03-10 20:09:55 5906

转载 串口控制RGB灯(中断&查询)

转载

2022-03-09 21:42:30 463

转载 STM32全局变量的定义和声明

转载

2022-03-09 19:43:35 4476

转载 STM32是如何进入串口中断服务函数的

今天在看stm32的中断,一时间不理解stm32主函数是如何进入中断函数的,按C编程的理解,会有个特定的入口之类的,但是看demo过程中没有发现入口。以串口中断服务函数void USART1_IRQHandler(void) 为例,首先用到串口中断,需要先设定串口中断初始化以及串口初始化,另外void USART1_IRQHandler(void) 中断服务函数也应该写好。发现在stm32的启动文件startup_stm32f10x_md.s中写到DCD USART1_IRQHandler其中DCD

2022-03-09 11:19:18 3195

原创 acwing1209-带分数

100 可以表示为带分数的形式:100=3+69258714还可以表示为:100=82+3546197注意特征:带分数中,数字 1∼9分别出现且只出现一次(不包含 0)。类似这样的带分数,100有 11种表示法。输入格式一个正整数。输出格式输出输入数字用数码 1∼9不重复不遗漏地组成带分数表示的全部种数。数据范围1≤N<106思路:暴力枚举出9个数的全排列,然后用一个长度为9的数组保存全排列的结果从全排列的结果中用两重循环暴力分解出三段,每段代表一个数验证枚举出来的三个

2022-02-26 17:30:31 183 1

原创 next_permulation实现全排列

1.数字排列//2022/2/24#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<vector>using namespace std;int n;//next_permutation(num,num+n)函数是对数组num中的前n个元素进行全排列//next_permutation()在使用前需要对欲排列数组按升序排序

2022-02-24 23:10:21 470

原创 01递归与递推

递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15#include<iostream>#include<cstdio>#include<cstring>using namespace

2022-02-23 13:23:09 68

原创 一些套路及经验,建议

根据题目n的范围选择合适的算法,以上是y总的经验。2.scanf,printf.特点:代码稍微长一点 但是速度巨快。cin,cout特点:代码短点,速度稍慢。当输入/输出数据量较大(>=10^5)最好用scanf,printf.反之用cin,cout.ps:如果想用printf scanf这些C语言中的东西,最好包含头文件cstdio以免编译器报错。...

2022-02-22 21:52:28 311

原创 单片机供电

做小车一直困扰我的问题,刚才问了下客服看了下产品介绍后懂了。stm32单片机上的3v3和5v:有3v3电源条件的话可以直接接到3v3引脚上给板子供电。如果没有,单片机自带的也有电压转换芯片,可将5v电源接在5v引脚给板子供电。5v引脚也可以接需要5v供电的外围模块,由单片机提供5v电压。...

2022-02-15 15:03:15 9348 5

原创 stm32更换芯片后的配置及可能报错

今天第一次换了个芯片,期间遇到一些障碍,在此记录。芯片换成了c6t6,1.检查启动文件是否匹配。2.检查C/C++定义是否与启动文件匹配,时MD还是,HD,然后我改成MD之后仍然不行3.更新KEIL5以后,原KEIL4 STM32模版库编译失败出现如下错误:\lib\cmsis\stm32f10x.h(298): error: #67: expected a "}"...解决方法:去掉手动添加的一个宏定义STM32F103_MD,KEIL5已经自动添加了。删掉之后就0 erro了

2022-02-13 22:13:51 1259

转载 蓝桥杯必备知识点

蓝桥杯省赛知识点1、C++ STL 常见算法2、C++ 输入输出(包括流、文件)3、C++常用泛型:list vector stack map4、暴力穷举5、递归6、全排列 next_permutation 康托展开式7、回溯8、DFS、BFS、hash表9、数学上的有:辗转相除(两行内),素数等国赛知识点1、hash表2、大数(高精度)加减乘除3、线段树4、并查集5、图论相关算法:最短路(Floyd、Dijstra,BellmanFord)、最小生成树(prim,krusca

2022-02-11 11:55:17 4610

原创 02Hello World

#include<iostream>#include<vector>#include<algorithm>using namespace std;void printVector(int v){ cout << v<<" ";}//STL基本语法void test01(){ //定义一个容器,并指定里面放的元素类型是int,v是这个容器的名字 //vector可以理解为一个动态(可变)数组,其空间会自行增加 vecto

2022-02-11 01:16:36 54

原创 01STL初识

//声明:该博客为对STL的一个初步认识,是在我学习黑马的STL课程的过程中总结记录的,后续还会持续更新。学STL我目前来说是用来应付蓝桥杯的,因为听说C with STL效率更高,因为STL可以大大简化代码,然后我有一定的C++基础,当然没学完,为了节省时间,所以直接来学下STL。STL分类容器算法迭代器容器分为序列式容器和关联式容器,前者就像是一组有顺序的元素,按原来固定顺序放入数组,后者则放入数组之后原来的顺序改变了算法通过有限的步骤,解决问题迭代器可理解为可遍历容器的指针.

2022-02-11 00:06:36 261

原创 stm32-配置时钟树(HSE)固件库版

使用HSE时,设置系统时钟的步骤1、开启HSE ,并等待 HSE 稳定2、设置 AHB、APB2、APB1的预分频因子3、设置PLL的时钟来源,和PLL的倍频因子,设置各种频率主要就是在这里设置4、开启PLL,并等待PLL稳定5、把PLLCK切换为系统时钟SYSCLK6、读取时钟切换状态位,确保PLLCLK被选为系统时钟使用到的固件库函数(按顺序)void HSE_SetSysClock(uint32_t RCC_PLLMul_x);RCC_DeInit();RCC_HSEConf

2022-02-09 10:31:59 1162 1

原创 深度优先搜索-迷宫

使用DFS方法求得最短路径,起点为(1,1),终点为(p,q),空地用0表示,障碍物用1表示,迷宫长宽不超过50。思路:dfs。创建一个数组存储迷宫,再创建一个数组标记已走过的地方,再创建一个数组代表每次走上/下/左/右。void dfs(int x,int y,step){if();dfs(step+1);return;}dfs,边界判断条件是是否走到终点,dfs函数的功能是解决当前应该怎么办#include<stdio.h>int p, q, n, m, minste

2022-02-08 18:29:02 542

原创 蓝桥杯-DFS&枚举-古堡算式

//DFS#include<stdio.h>int book[6], a[6], total = 0;void dfs(int step){ int left, right; left = a[1] * 10000 + a[2] * 1000 + a[3] * 100 + a[4] * 10 + a[5]; right = a[5] * 10000 + a[4] * 1000 + a[3] * 100 + a[2] * 10 + a[1]; if (step == 6) {.

2022-02-06 00:56:28 338

原创 单片机复位电路设计(最基础的上电复位与手动复位原理,初学者可以进来看看)

51单片机(高电平有效)STM32(低电平有效)复位所需最小时间为两个机器周期,一般为2us,只要充电时间超过这个数,那么就可以复位。t=1.2RC,选择合适大小的电容与电阻,使得t大于tmin即可。...

2022-02-02 22:17:19 2936

空空如也

空空如也

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

TA关注的人

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