Adeer୧⍤⃝
码龄1年
关注
提问 私信
  • 博客:34,298
    视频:3,418
    37,716
    总访问量
  • 42
    原创
  • 46,650
    排名
  • 377
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:编程小白,希望得到大佬们的指导

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2023-11-24
博客简介:

2301_81374681的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    323
    当月
    8
个人成就
  • 获得546次点赞
  • 内容获得69次评论
  • 获得399次收藏
  • 代码片获得569次分享
创作历程
  • 42篇
    2024年
成就勋章
兴趣领域 设置
  • 后端
    爬虫
  • 人工智能
    计算机视觉人工智能
  • 嵌入式
    单片机stm32物联网嵌入式硬件
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 课程
  • 关注/订阅/互动
  • 视频
  • 收藏
搜TA的内容
搜索 取消

SPI通信协议(软件SPI和硬件SPI)

当准备发数据时,如果检测到TXE=1(TDR为空),则软件写入数据(0xF1),此时TDR为0xF1,TXE则变为0,如果移位寄存器为空,则数据(0xF1)转入移位寄存器里,然后移位寄存器就将数据发送出去了,接着等待RXNE为1,即接收到数据,此时可以读取RDR里的数据,然后将下个数据(0xF2)写入TDR,接着重复以上过程,循环八次即可交换一个字节。当发送完一个数据时,此时移位寄存器中也接收到了来自从机发送过来的数据,接着将数据转入接受数据寄存器RDR中,并置RXNE标志位(RDR非空标志位)
原创
发布博客 2024.09.04 ·
1932 阅读 ·
13 点赞 ·
1 评论 ·
23 收藏

I2C通信协议(软件I2C和硬件I2C)

通过与指定地址写对比,当前地址读缺少了主机发送操作的寄存器的地址,那么主机读取的数据来自从机的哪个寄存器?:用于主机确定从机设备的名字,每个从机都具有唯一的地址,从机地址具有7位和10位,通常用7位地址就够了,7位地址比较简单1且应用范围最广,例:MPU6050的地址为1101000,地址中分为可变部分和不可变部分,一般为最后几位,MPU6050的可变地址为最后一位,可以由AD0引脚确定,引脚接低电平,则它的地址为1101000,反之则为1101001,可变部分用于两个相同的模块在一条总线上时区分。
原创
发布博客 2024.08.22 ·
1423 阅读 ·
26 点赞 ·
0 评论 ·
22 收藏

stm32串口通信协议(标准库 and HAL库)

1.串口一般都有固定的引脚,比如c8t6上USART1的TX为PA9,RX为PA10,当然,也可以将某些特定的引脚复用成USART1的TX,RX,两个设备之间进行串口通信时,TX与RX要互相交叉连接,且一定要共地,如果两个设备有单独供电的话,可以不用连接VCC。开启时钟,将所需的USART与GPIO的时钟打开,然后GPIO初始化,将TX配置为复用输出,RX为输入,最后利用USART的初始化结构体,将其余参数全部配置好,如果选择通过中断的方式接受,则需要配置NVIC中断优先级与开启中断。
原创
发布博客 2024.07.22 ·
1132 阅读 ·
16 点赞 ·
2 评论 ·
22 收藏

基于stm32开发的红外循迹小车

2.L298N电机驱动模块:分别是5V,12V,GND,可以通过外加电源给驱动模块供电,IN1,IN2,IN3,IN4,EN1,EN2,通过给IN口不同的电平,可以达到控制电机正反转,EN口为使能口,可以通过给EN口不同的PWM波,来达到控制小车速度,1.红外循迹模块:检测黑线的原理是向外发射红外线,当没有遇到黑线的时候,返回回来,之后返回高电平,当遇到黑线的时候,红外被吸收,返回高电平,读取相应IO口的电平就可以知道小车此时的大致位置;模块有四个输入接口,分别连接四个TT马达,驱动小车运动;
原创
发布博客 2024.07.08 ·
4390 阅读 ·
34 点赞 ·
27 评论 ·
157 收藏

小车循迹演示

发布视频 2024.07.08

第十五届蓝桥杯总结

最后,经历了这四个月的学习之后,对我个人的提升还是蛮大的吧,至少计算机二级这种证书不用担心过不了了,哈哈哈,也算是以赛促学吧,要是不报蓝桥,自己也不会在算法这条路上走这么久,想起刚接触算法的时候一窍不通,现在能有所成就,也算是达到目标了,谨以此篇,记录我历时不长的算法经历!questionH(拔河):也是不理解为啥看到网上别人这题写的蛮麻烦,感觉数据范围也不大,我直接用前缀和预处理了之后,遍历整个数组,找一个k使得1~k的和与k+1~n的差距最小就行了,不知道题意理解错了没有。浅谈一下这次比赛题目。
原创
发布博客 2024.04.30 ·
8620 阅读 ·
28 点赞 ·
18 评论 ·
21 收藏

AcWing-滑动窗口

构建一个单调队列,并维护其单调性,即使队列里面的元素严格单调,(若为单调递增,且a[i]<=a[q.back()],则将队尾元素删除,反之若为单调递减,则当a[i]>=a[q.back()]时删除),依次将每个元素下标入队;双端队列与普通队列的不同处:双端队列删除元素时既可以删除队头又可以删掉队尾,其可以较好的维护单调队列的单调性;//判断队列是否为空,若为空则返回true,反之,返回false。//队头插入一个元素。//队尾插入一个元素。//返回下标为i的元素。
原创
发布博客 2024.04.12 ·
482 阅读 ·
10 点赞 ·
0 评论 ·
3 收藏

AcWing-矩形牛棚

首先想到的就是暴力做法,先用二维前缀和将每个矩形的和预处理出来,然后再依次枚举每个矩形的上下左右边界,判断每个矩形内的和是否为0(如果土地没被破坏则为0,被破坏赋成1),将所有矩形遍历完即可得到最大的矩形。sum[i][j](黑色矩形)=sum[i-1][j](蓝色矩形)+sum[i][j-1](红色矩形)-sum[i-1][j-1](橙色矩形);我们可以枚举下边界,然后将每一次看作求直方图中的最大矩形,如果没学过如何求直方图中的最大矩形,可以参考下这篇blog。
原创
发布博客 2024.04.12 ·
717 阅读 ·
16 点赞 ·
0 评论 ·
7 收藏

AcWing-直方图中最大的矩形

要求最大矩形,所以需要使矩形的高与长的乘积最大即可,依次从左到右将每一列当作中心列,向两边扩散,直到两边的高都小于该列的高,即为以该列为中心的最大矩形面积(中心不一定在整块矩形的正中间)若在遍历列的时候再去判断它前面或后面的列的高度是否小于它,则需要o(n2),显然数据范围过大,只能过一部分数据,我们考虑将每列的前方与后方的第一个小于它高度的列预处理出来(利用单调栈);还有h[st[tt]]>=h[i] 中的 '=' 因为要求比h [i] 小的元素,所以相等也满足;将h[0]=h[n+1]=-1;
原创
发布博客 2024.04.11 ·
477 阅读 ·
13 点赞 ·
0 评论 ·
4 收藏

蓝桥联系题-子串简写

将每一个与c2相同的字符前面与它相隔距离大于等于k的所有与c1相同的字符数加起来(我语文表达能力不太行,如果没看懂多看几遍应该可以理解)从前向后依次遍历当找到一个以字符c1开头的字符,有多少c2能与之组成合法的子字符串,然后累加起来;暴力做法(能过80%)
原创
发布博客 2024.04.11 ·
360 阅读 ·
17 点赞 ·
0 评论 ·
4 收藏

AcWing-松散子序列

解析:若不拿第i个,则前i个的最大值与前i-1的最大值一样,若拿第i个,又因为两个字符不能相邻,所以前i个的最大值等于前i-2个再加上第i位的值,然后两者中间取最大值;题目大概的意思就是有一个字符串然后每个字符串对应一个数字,如‘a'-1,’z'-26等等......然后在这一整个字符串内找出一些字符使他们的和最大,但是每两个字符之间不能相邻。典序的dp问题,与大盗阿福类似(悲,没报课,链接拿不上来)
原创
发布博客 2024.04.11 ·
258 阅读 ·
14 点赞 ·
0 评论 ·
5 收藏

Acwing-石子合并

考虑最后一次合并,一定是将两个已知的区间(区间合并的最优方案已被计算出来)合并,即只需将端点枚举一遍,判断哪个中间点可以将整个区间划分为两个小区间,使得两个区间合并的代价最小。首先将dp[1][j]初始化为0(即区间长度为1的任何区间的代价都为0);之后外层枚举每一个区间长度,内层枚举区间左端点,依次递推即可求出答案。
原创
发布博客 2024.04.04 ·
334 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

AcWing-游戏

若选择右边的数字,则,下一个人在i到j-1中选择对于他自己而言的最优解,所以,dp[i][j] 为w[j] +s[j-1]-s[i-1] (i到j-1的区间和) -dp[i][j-1](减去下一个人能拿的最大值)。同理,若取右边的数,则下一个人在区间i到j-1中取dp[i][j-1]表示该区间中的max(B-A),所以-dp[i][j-1]表示该区间中A-B的最大值,在加上w[j],表示区间i到j中A-B的最大值;最后dp[1][N]表示该区间内A-B的最大值,又因为A+B=sum(sum为所有元素和);
原创
发布博客 2024.04.04 ·
1108 阅读 ·
16 点赞 ·
0 评论 ·
8 收藏

AcWing-孤独的照片

贡献法:由于区间数量过大,我们没办法枚举区间,换个角度思考,一张孤独的照片里面只能有一只同品种的牛,所以把旁边全是不同种类牛的牛的数量找出来就可以算出来所要求的区间数了,一头孤独的牛对应的区间数量res=sl [i] *sr [i] +max(0,sl [i]-1)+max(0,sr [i]-1);整体思路:首先想到暴力枚举所有区间,判断每个区间内是否有一种牛的数量是一只(提前用前缀和存放每个位置及以前的牛的数量)C++代码:(过不了)
原创
发布博客 2024.04.04 ·
546 阅读 ·
15 点赞 ·
0 评论 ·
9 收藏

今日学到的小知识点:

当用cin和scanf都不能满足要求的读入速度时,可以用getchar手写一个快读函数。将数组中第K小的数排出来,nth_element(数组名,数组名+K,数组大小);测试代码:(快读是上面的知识点)
原创
发布博客 2024.04.02 ·
433 阅读 ·
14 点赞 ·
0 评论 ·
0 收藏

AcWing-乌龟棋

首先我们将每种卡片的数量记录下来,状态转移时,必须要有此卡片才能进行转移,例:如果前面已经将A卡片用完了,后面就不能再使用A了;然后将dp[0][0][0][0]初始化为a[1],因为最初停在第一个位置,之后将所有状态遍历一遍,找出最大值,输出答案;由于走的方式有四种,所以dp[i][j][m][n]的来源有四种,状态转移方程式要求不重不漏,所以我们可以以使用的最后一个卡片上的数值来进行分类。
原创
发布博客 2024.04.01 ·
439 阅读 ·
13 点赞 ·
0 评论 ·
5 收藏

AcWing-木棍

与位于首位一样的思路,利用反证法,若最后一个无解,又因为木棍是按照顺序排列的,所以最后一根小木棍,必定放在下一根大木棍的首位,若该方案有解,则两种方案的第i跟木棍可以交换,所以与前提条件矛盾,无解;首先,将木棍的长度从所有小木棍的最大值开始遍历,遇到的第一个能使所有的小木棍组合成长度相等的大木棍时,则为最优答案,如果想暴力做的话(不考虑剪枝),会超时,所以需要用到剪枝。若某小木棍放在某位置无解,则与之长度相同的小木棍,也无解,思路同上,利用反证法推导出来矛盾,即可证明该命题不成立;
原创
发布博客 2024.03.30 ·
702 阅读 ·
25 点赞 ·
0 评论 ·
6 收藏

AcWing-毕业旅行问题

搞懂了Hamilton之后这题就很简单了,遍历一遍以[1,n]为结尾的所有节点加上a[i] [0],取最小值,遍历一遍后的ans即为答案;Hamilton最小路径的变种,如果Hamilton最小路径不懂可以看看我这篇文章。二进制状态压缩,dp。
原创
发布博客 2024.03.29 ·
266 阅读 ·
7 点赞 ·
0 评论 ·
2 收藏

AcWing—最短Hamilton路径

所以得出结论,只要确定最后一点的前一点的最短路径即为答案所求最短路径,因此dp的思路有了,但怎么表示走过的路径还是一个问题,今天刚学了一种方法:状态压缩,用一个数的二进制表示是否走过这个点(1表示走过,0表示没走过)second: 0–>1–>3–>2–>4 距离:18。fourth: 0–>2–>3–>1–>4 距离:20。first: 0–>1–>2–>3–>4 距离:21。third: 0–>2–>1–>3–>4 距离:17。fifth: 0–>3–>1–>2–>4 距离:19。
原创
发布博客 2024.03.29 ·
415 阅读 ·
8 点赞 ·
0 评论 ·
2 收藏

AcWing-动态求连续区间和

例:lowbit(6)=2;6的二进制表示为110,最后一位1为10,所以表示数字2,lowbit(7)=1,7的二进制表示为111,所以最低位1为1;树状数组的三个基本函数:lowbit(i):求某个数的最低一位1表示的数字;树状数组为分组管理,点与点之间有联系,并非像普通数组一样每个点之间相互独立。add(x,y)将x加上y,且表示的区间和也全随着x的变化而变化;因此树状数组比前缀和更适合做要进行多次修改元素的求区间和的操作;sum(x)求x之前的区间和,将数组里面所有x前面的数全加起来;
原创
发布博客 2024.03.29 ·
287 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏
加载更多