自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ESP32实现呼吸灯

PWM就是脉冲亮度控制(pilse width modulation),控制调节不同频率,占空比的方波,实现固定频率或平均电压输出。了解几个概念:频率也就是周期(FREQ),通道,ESP32有16个PWM通道,分辨率也就是亮度级别,上一个代码是从0~255的变化也就是256个数字变化=2^8=256,也就是分辨率=8。了解LEDC外设:=LED Control,可以用来很简单控制PWM的变化,但是好像其实和analogWrite区别不大,用途差不多。#define CHANNEL 0 //通道 0。

2025-11-21 14:42:06 284

原创 STM32--USART--串口通信

TIPS:缓冲区长度不能太小,且这个USART_RX_BUF,USART_RX_STA的全局变量的声明是有坑的要注意,fputc这个重定向函数和USART_SendString_Safe的printf函数很重要,影响main的printf,卡我好久。不停的打印信息到电脑上,同时接收从串口发过来的数据,把发送过来的数据直接送回给电脑。路串口,有分数波特率发生器、支持同步单线通信和半双工 单线通讯、支持 LIN。、支持调制解调器操作、智能卡协议和。(如果需要开启中断才需要这个步骤)1) 串口时钟使能,

2025-10-29 15:04:55 306

原创 STM32--TIMER--PWM

5. 设置TIM3_CH2的PWM模式,使能TIM3的CH2输出,PB5引脚的灯是低电平点亮注意。PWM:脉冲宽度调制,正点原子的板子实现PWM实验主要是使用TIM3_CH2控制PB5的红灯。定时器功能:定时触发中断,输入捕获,输出比较,编码器接口,主从触发。实现一个LED小灯的呼吸效果,学习通用定时器TIMER。1. 开启TIM3时钟及复用时钟,配置PB5为复用时钟。时基单元:16位的计数器,预分频器,自动重载寄存器。4. 初始化TIM3,设置TIM3的ARR和PSC。2. GPIO初始化。

2025-10-27 23:34:13 228

原创 STM32--外部中断EXTI

筑波真蚌埠住了,因为是直接用的上次写好的KEY所以没注意KEY-UP的引脚模式设置的是浮空,哈哈哈哈哈哈因为这个问题查了一晚上错误,我是。main函数记得初始化好调用的各个器件。3.设置IO口与中断线的映射关系,初始化。2.使能AFIO,支持引脚复用。4.NVIC,使能中断。

2025-10-26 22:16:57 170

原创 STM32--按键点灯

LED增加一个翻转的函数,这里踩到不干净的东西了(原来是想是写一个LED_TOGGLG(void)函数可以直接控制两个灯的翻转的,但是因为调用不当,并且不传参实现不了两个灯的独立翻转吃了亏,调了好久,emo)KEY:这里也不干净!煮啵以为这里的原因导致编译两个灯就一直亮灭,不是的,是main函数去抖和按键判断没做好,不够灵敏要判断两次,所以这里只需要正常初始化和检测按键状态即可。BEEP:在这里是很简单的只需要初始化即可,BEEP在煮啵这里是PB8,和正常GPIO引脚初始化一样的,输出推挽。

2025-10-26 16:21:47 170

原创 STM32——点亮LED灯

入门第一步——点亮LED灯,使用正点原子的STM32F103C8T6开发板,板子自带两个灯LED0(PB5)和LED1(PE5).GPIO:每个IO端口都有7个寄存器控制(CRL,CRH,IDR,ODR,BSRR,BRR,ICKR)1. 使能IO时钟,LED灯的总线在APB2。打开BSP看看GPIO有哪些提供的函数。效果图不放了,有点不好放。2. 初始化IO参数。

2025-10-25 22:31:48 300

原创 15轮CPU训练,前馈神经网络准确率达98.4%

使用CPU训练15轮,准确率可达98.4%交叉熵+Adam优化器。

2025-10-12 17:43:15 140

原创 基于yolov8n-pose模型的跌倒检测应用

可以看到该模型144层神经网络层,3295470参数,属于轻量级参数量,当前模型处于 “推理模式”,GFLOPs 数值越低,模型运行速度通常越快,所以概括该模型:结构相对精简、参数少、计算量低,适合对速度和部署资源有严格要求的场景(如实时姿态估计)。基本框住人体并且判断跌倒失误少,精度高,推理速度尚可,但是yolov8n-pose.pt的模型对开发板要求高,模型大,需要量化或者直接使用yolov8n-pose.onnx。提前从官网下载权重文件放在当前目录下。3. 视频 / 摄像头判断跌倒。

2025-09-04 00:36:52 444

原创 Faster-RCNN复现学习记录

并且前面我写了我的数据集是从从VOC数据集上抽样出来的,所以我的类别其实还是跟原来的一样20个类,所以我的model_data/voc_classes.txt不用改,但是如果数据集是自制的类别改变就需要改。但是原数据集是VOC07+12,很大而且很多,对我电脑的配置很不友好,所以我以这个数据集为基础抽样了一个小的数据集,一共720张图的样子。数据集的放置有说法:主目录下有一个空的VOCdevkit文件夹,需要按照标准的VOC数据集的放置方法放数据集。(晚上跑的,睡着了不然还有运行截图。

2025-05-17 23:58:32 367

原创 解决SSH远程没有办法打开图片

不直接打开图片,而是将图片保存在规定的路径中。

2025-03-17 23:16:32 215

原创 解决无法退出base环境的问题

在Linux终端想要创建一个新环境,却碰见新问题。意思是在base环境下不能创建新环境。指令之后再关闭终端重新创建新环境即可。指令要求禁止自动激活base环境。使用指令初始化conda指令。发现真的在base环境下。

2025-03-13 21:19:20 552

原创 tensorflow安装——找不到对应的版本

也有说是因为镜像源的问题,可以更换一下镜像源,如清华镜像源,阿里镜像源等等,也有说可能是指令的问题可以pip改成pip3,指定镜像源,网络问题也可能会报错,都可以去试一试,评论区是有很多人成功了的。我是都试过了,但是都不行,这里写一下我的问题和解决方案。我发现我的电脑的系统类型是windowsx64的,但是conda是32位的,对就是这个问题,类型不对应。我只能尝试手动安装,上清华镜像源去下载对应的tensorflow的.whl文件,使用指令。前面的解决方案我都试过,所以不会是镜像源或者网络的问题。

2025-03-03 15:34:29 696

原创 C++数据结构——二叉树的实现(前序遍历,中序遍历,后序遍历)

再去理解二叉树的实现,对于它的创造,是使用遍历的做法,用数组的数去创建一个二叉树的时候是先传入根的数据,再左右孩子(其实不知道怎么说,就是再这里运行的时候加几个断点就知道了)二叉树在数据结构中很重要。使用二叉链表进行存储。一个结点不仅要包括二叉树结点的数据信息(data),还需要存储左右孩子的指针(*lchild,*rchild)。中序遍历访问结点的操作发生在该结点的左子树遍历完毕且没遍历右子树时,写cout<<n->data;

2024-12-13 00:05:06 249

原创 C++数据结构——顺序栈的实现

顺序栈实现“先进后出”的原则。本质上还是顺序表的简化,利用top的移动,实现push函数(入栈操作)和pop函数(出栈操作)。同时也注意top的初始化,栈空时top==-1,栈满时top==maxsize-1。因为可以想象一下数组的index从0到maxsize-1。

2024-12-04 23:14:51 290

原创 C++数据结构——线性表的链表笔记

链表由一个个结点构成,一个结点包括数据域和指针域,指针域包含着下一个数据的地址,但是只有一个个有数据的结点却不够,因为如果要遍历的话,工作指针却是从第一个数据慢慢变到最后一个,但是第一个数据的地址,它的指针不能轻易变动,所以我们要多加一个头结点来指向第一个数据的地址。4:插入函数:确保没有出界的情况下,找到i位置的前一个,也就是i-1的位置,因为插入操作也熬断开i-1和i位置的指针链接连上i-1和新生成的结点(也就是要插入的结点——组成是数据和位置i的地址指针),再连上新结点和位置i的结点的链接。

2024-11-19 23:41:03 597

原创 C++数据结构——线性表的顺序表笔记

顺序表是用一段地址连续的存储单元依次存储线性表的数据元素,假设顺序表每个元素只占c个存储单元,那么第i个元素的位置=【第一个元素的地址+(i-1)*c】。线性表是N个相同数据元素的有限序列,数据元素的个数就是线性表的长度。线性表分成两种存储方式,顺序存储——顺序表,链式存储——链表。一个小tips:要注意顺序表的下标次序和数组的次序不同,所以在函数的增删改查过程总是会出现有+1或者-1的小操作。既然类似于数组,那么也会有一个最大容量(Maxsize)。先写一个顺序表的类的声明。

2024-11-19 20:33:51 208

原创 在VScode运行C++

之前一直在纠结于那个mingw-x64的编译器的安装,但是进它的官网,也看了很多教程,在官网下载的zip压缩包始终不行,找不到bin文件,之后又在其他博主那里看到说是直接是.exe的文件安装就行,但是下载下来就是没办法安装,一直报错:can not download repository.txt。找到的办法说用管理员身份运行,用魔法,换网都试过了都不行,又说是可以在官网files划到底可以找到在线下载的界面,找了半天,都不行。4:之后会是正在创建维护工具界面,安装的比较慢,特别是50%那里,可以等一下。

2024-10-30 17:48:24 3016 6

原创 Compressai模型复现笔记

m 是指使用的模型名称,-d 就是数据集的路径,batch-size 训练时的批次量,要根据数据来选择,-lr 就是学习率(学习率不能太小了),-e 是epoch轮数,save保存好训练好的模型关键数据,cuda使用gpu,lambda是拉格朗日乘子(损失函数公式的那个系数)要确定自己在编译器的打开方式是正确的,如果是正确的,那么在compressai的这个大文件夹下面就可以正确打开examples目录。2.将它保存在自己的文件夹里面,(我自己用的是压缩包解压的形式,所以放到新的文件夹里面还要解压)

2024-10-04 23:06:41 2273 3

空空如也

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

TA关注的人

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