- 博客(13)
- 收藏
- 关注
原创 stm32F103基于HAL库内部flash使用方法以及浮点数问题
所以存储float可不是意味着 就是使用HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD,a,test)把test换成什么float类型什么的这么简单。需要把 float test 传入的时候转成 *(uint32_t*)&test 取出来 则是正常读取float*就可以了。我们stm32f103是32位 word 如果我们要存储 uint16_t 就是halfword。a就是地址 test则是我们的存储数据 可以是int double float。
2025-01-16 18:45:04
287
原创 RingBuff的个人学习使用心得
环形缓冲区设计的小巧,比较适合需要处理频率较高的数据。可以保护数据不会中途修改,不需要频繁的触发中断,也可以简化代码 无需一会开一会开dma接受吧。但是单片机处理速度需要和缓冲区配合两者一方过慢过快都会影响。个人猜测 如果对数据的实时性要求比较高,这个可能就不合适了,我出现了缓冲区满了 单片机还没处理完,导致处理的都是老的,但是船速慢可以不影响。
2024-11-20 21:02:58
565
原创 c++ 函数传递数组 以及函数指针心得
其次调用的话很简单 我们可以直接pf(int) 也可以 (*pf)(int) 我还是偏向于第二种 指针指向的函数 传入int参数。我们一般创建数组就是很简单的 int a[3];这种 其实在c++中 这个a其实是指针 指向的是数组的第一个元素地址。这个pf就是指向add函数的指针 千万记住 (*pf) 的括号不能少 否则意思就变了。那么函数指针定义就是 首先是返回值类型 (*func)(函数传递参数)所以在c++中我们函数传递数组可以将函数这样写。对于二维数组的传递 其实也可以这样只不过。
2024-09-23 20:20:26
295
原创 STM32F103自动巡航小车
网上有关小车的文章太少了,而且非常不系统。要么制作繁杂的一笔,要么就是标准库一大堆看不懂的函数。小车采用STM32CUBEMX结合keil开发。用到的配件也非常简单,其中算法很少,唯一一个也是PID抄的网上的,只需要知道怎么去用就好了。小车用到的配件很少。ublox第十代定位,hmc5883l电子指南针,还有小车自带的L298N电机驱动.
2024-08-29 16:33:36
858
3
原创 STM32 串口通信
首先是串口初始化我们先创建函数方法 usart_init();随后 我们首先调用HAL_UART_INIT()方法 然后发现他需要一个结构体指针那么我们就开始创建 这个结构体其实就设置两个参数 一个是 初始化某一个串口 还有就是设置波特率 其他都是默认的最后调用最关键的代码至此 初始化完成一半。
2024-07-24 15:58:42
442
原创 226.翻转二叉树
其实本体考察的是 二叉树遍历 二叉树遍历的选择 这就考察到二叉树遍历的知识仅仅会二叉树遍历不行 更要理解每一种遍历方法的做法而且一定要理解本题 这题简单说就是让你交换子结点 一定要意识到 这是交换子结点的题目。
2024-07-16 17:43:42
172
原创 leetcode-三数之和
我们想到去重的话,记录元素有没有出现过,那么最好的是unordered_set,这道题目理论上也是可以的,但是我不知道怎么去搞,有点混乱复杂,所以我们需要一点技巧。但是很重要的一点就是,这三个数取出后a,b,c 如果我后面又找到了一样的a,b,c 此时我们要。题目的意思很明确,取出三个数字相加==0,则放入数组,但是这三个数的组合已经不能再次出现,否则重复了,需要去重。我给出{-1,3,2,2,1,-1,-1,1,-2}我要求给出所有两个数相加。但是这样会有多余的hash计算和空间的占用,即使非常的渺小。
2024-07-09 18:58:16
691
原创 滑动窗口--长度最小的子数组
最小ans 我们通常在while并且满足题目条件里面更新我们的ans 而最大ans我们需要不满足条件就更新ans 如果不满足我们需要while去剔除滑动窗口不简单 需要练习巩固713. 乘积小于 K 的子数组 - 力扣(LeetCode)例如这题 直接给我做麻了。
2024-07-06 19:22:53
348
原创 删除倒数第n个位置的链表节点
然后当快指针到达最后一个节点 此时慢指针也会正好指向 删除节点的前一个节点。主要问题是单向链表如何确认节点属于链表的倒数第几个。我们定义快慢指针,快指针先从虚拟节点开始移动N个。
2024-07-06 18:11:25
162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人