自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(352)
  • 资源 (2)
  • 收藏
  • 关注

原创 STM32——FreeRTOS移植裸机外部中断不能使用原因

大家仔细看一下是不是少了一个参数。使能参数没有写,这是因为裸机默认使能,但是FreeRTOS因为中断管理的原因,默认不使能所以我们需要把这个参数加上并且使能,然后就能用了。今天要在RTOS配置外部中断,为了省事,直接copy的裸机的外部中断例程,结果不能用,把可能出现的问题全部都查了一遍。首先FreeRTOS可管理优先级是5~15,这个注意到了,但是还是不行。先看裸机的中断结构体参数,这个和操作系统没有任何差别。注意一个这个问题,然后注意一下优先级的问题就可以了。是因为少了一个重要的参数。

2024-03-11 17:29:53 580

原创 UnicodeDecodeError: ‘gbk‘和Error: Command ‘pip install ‘pycocotools>=2.0

在你的代码里查找open 所有和open相关的语句,都加上utf-8那句话,就能正常训练了。根据他的指令pip install ‘pycocotools>=2.0这个根本不能用。今天重新弄YOLOv5的时候发现不能用了,刚开始给我报这个错误。我们把指令换成下面这个就可以用了。但是他又报了另一个错误。

2024-03-09 23:07:00 389

原创 基于云平台的老人健康监测系统

最近在做一个简单的小项目,简单的记录一下。先看需求该健康监测系统可以监测被测者的心率、体温、环境,同时也可以通过姿态解算来判断被测者是否摔倒。该系统可以将被测者的心率、体温、环境等数据上传至云端,方便使用者时刻注意家中老人情况以及室内环境的状况。该系统在被测者摔倒时会发出蜂鸣声,同时在手机APP上进行提醒,以便使用者拨打120急救;先看一下手机app界面项目比较简单,代码可以直接使用。有疑问可以进群一起探讨,群里也会不定时分享一些项目,聊一聊比赛。

2024-03-02 15:43:47 502

原创 STM32 TIM2重映射

最近想弄一个多路输出PWM,但是发现TIM2不能用,根据手册也对它进行重映射了,但是还是不能用,用示波器发现驱动能力比较弱,然后禁用jtag搞定了。

2024-02-21 14:37:39 1199

原创 STM32引脚重定义问题

我想用他输出PWM,但是不能用,我也重定义了,还是不能用。回去翻看了技术手册。AFIO时钟一定要使能,这个刚学的时候知道,几年没用过,都把这个功能忘记了,希望大家少踩雷。最近在搞资源管理,发现有些引脚用不上。

2024-02-20 16:50:44 511

原创 PCB板 3.3V和GND导通原因

昨天焊了一下板子,发现3.3V和GND莫名其妙导通了,我明明焊接了一块是不导通的,很奇怪,然后我又去修了一下机械臂控制板。STM32芯片烧了,芯片烧了,3,3V和GND就会导通。

2024-02-10 12:26:57 466

原创 RC滤波电路的原理

电容的阻止高频信号通过的原因是由于其特性——阻抗随着频率的变化而变化。在电路中,电容的阻抗随着频率的增加而降低,这意味着对于高频信号而言,电容的阻抗非常低,电容会通过高频信号并短接到地,从而阻止高频信号通过并输出到后端负载上。由于电容C具有隔直通交的特性,所以输入的高频分量相当于经过电阻R后直接对地短接,并没有输出到后端负载上,只有低频的输入分量才会输出到后端。RC滤波电路分为低通滤波和高通滤波。低通滤波通过低频信号。

2024-01-23 20:09:30 772

原创 嵌入式交流群

主要是工训赛、电赛、光电、集成电路等等,会分享一些开源代码,博主自己做的项目,自己画的PCB等等,包含但不限于STM32、K210、V831、机器视觉,机械臂,ROS,STM32最小系统板打板文件,K210打板文件、ESP8266,物联网、各类传感器等等。群里不打广告,只是一些对嵌入式感兴趣的同学,大家一起交流学习。博主也想拓宽自己的知识面。感兴趣的同学欢迎进群交流嗷。感兴趣的同学、朋友可以加入群聊共同学习聊天哦。

2024-01-07 18:40:39 524

原创 我与nano实验室交流群

主要是工训赛、电赛、光电、集成电路等等,会分享一些开源代码,博主自己做的项目,自己画的PCB等等,包含但不限于STM32、K210、V831、机器视觉,机械臂,ROS,STM32最小系统板打板文件,K210打板文件、ESP8266,物联网、各类传感器等等。群里不打广告,只是一些对嵌入式感兴趣的同学,大家一起交流学习。博主也想拓宽自己的知识面。感兴趣的同学欢迎进群交流嗷。感兴趣的同学、朋友可以加入群聊共同学习聊天哦。

2024-01-07 18:39:34 529

原创 电子元器件介绍——三极管(五)

这一节我们学习三极管。

2023-12-17 15:32:24 636

原创 电子元器件介绍——二极管(四)

这一节我们看一下二极管。

2023-12-17 15:14:46 1006

原创 电子元器件介绍——电感(三)

这一节学习一下电感。

2023-12-17 14:58:51 359

原创 电子元器件介绍——电容(二)

这节我们介绍电容。

2023-12-17 14:48:27 930

原创 电子元器件介绍——电阻(一)

接下来我们就把常用的电子元器件全部介绍给大家,这一节是电阻,电容电感在之后都有讲解。贴片电阻使用时应注意:烙铁头要尖细,直径小于3mm 3mm,烙铁加温度在219~240 219~240摄氏度,烙铁头不要直接接触陶瓷基片,否则容易损坏电阻。

2023-12-14 21:52:43 954

原创 反激式电源

前面我们了解了非隔离的DC-DC拓扑,今天我们看一下隔离型的DC-DC拓扑1.1 反激电路简介反激型电路的结构简单,元件数少,成本较低,广泛适用于各种功率为数瓦~数十瓦的小功率开关电源,在各种家电、计算机设备、工业设备中广泛使用的小功率开关电源中基本上都采用的是反激型电路。比如常用的台式电脑的电源就是反激式。但该电路变压器的工作点也仅处于磁化曲线平面的第I象限,利用率低,而且开关元件承受的电流峰值很大,不适合用于较大功率的电源。

2023-12-12 21:30:13 1063

原创 隔离电源与非隔离式电源

在产品设计时,倘若没有考虑应用环境对电源隔离的要求,产品到了应用时就会出现因设计方案的不当导致的系统不稳定,甚至出现高压损坏后级负载的情况,以及出现危害人身财产安全的情况。因此产品设计是否需要隔离至关重要。“某公司员工在手机充电时打电话被电死”的新闻在网上引起广泛关注。充电器也能能危害生命?专家分析手机充电器内部变压器漏电,220VAC的交流电漏电到直流端,并通过数据线传导到了手机金属壳上,最终导致触电身亡,发生无可挽回的悲剧。那么手机充电器输出端为什么会带有220V的交流电呢?

2023-12-12 20:58:51 1258

原创 如何快速移植(从STM32F103到STM32F407)

如果移植之后发现不能用,首先检查IO的使能,如果使能没有问题进一步检查引脚配置的模式。该复用成对应功能的有没有复用。有用中断要注意F4中断时钟初始化的写法,如果用到SPI这种需要时序的,确认上面的没问题了,在检查一下时钟。如果你的SPI发现自己动一动线就有数据了,这个时候就去看引脚的模式,是不是推挽输出。该浮空输入的有没有浮空输入,那个默认无上下拉的配置直接不要,不要写那个东西。跳转链接。

2023-12-06 23:02:18 2019

原创 C语言指针详解

通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量一样,必须在使用指针存储其他变量地址之前,对其进行声明。在这里,type 是指针的基类型,它必须是一个有效的 C 数据类型,var_name 是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号是用来指定一个变量是指针。int *ip;

2023-12-02 15:36:08 888

原创 stm32 can滤波器接收指定的ID

> 16:最后将上一步的结果右移16位。因此,整个操作的目的是从32位的slave_id中提取出低16位,并将扩展帧和数据帧标志位添加到其中,最后进行掩码操作,得到最终的ID低位部分,并放置到CAN_FilterInitStructure.CAN_FilterIdLo中,以用作CAN过滤器的ID低位部分。因此,整个操作的目的是从32位的slave_id中提取出高16位,并放置到CAN_FilterInitStructure.CAN_FilterIdHigh中,以用作CAN过滤器的ID高位部分。

2023-11-29 10:42:53 1890

原创 STM32 默认时钟更改 +debug调试

为什么我们要改STM32的时钟呢,打个比方在做SPI驱动的时候,需要16M的时钟,但是stm32默认是72的分频分不出来,这个时候我们就要改系统时钟了,那么怎么改呢,我又怎么知道现在的时钟是多少呢。

2023-11-26 15:03:00 671

原创 STM32 F1 串口空闲中断 + DMA实现数据发送

当你遇到通信数据量大的时候,可以使用 空闲中断 + DMA 的方案来减轻 CPU 的压力。或者在进行stm32开发时,有时会遇到这种情况:需要在设备间进行数据传输,由于stm32串口RDR和TDR寄存器都是8位有效的,我们往往需要定义传输协议(如一帧数据中,包含包含帧头、帧ID、数据帧、校验帧等若干8位数据)。我们希望可以一次收到一帧数据,并进行解码操作。利DMA+串口空闲中断可以有效完成上述任务。

2023-11-26 14:39:56 1343

原创 CAN通信协议

前面学了232、485、IIC、SPI等通信协议,还有一个强大的协议CAN,值得记录一下CAN是Controller Area Network的缩写,翻译为控制器局域网。它是一种广泛应用在汽车和工业领域的通信协议,用于在不同的设备之间进行可靠的通信和数据传输。CAN总线系统通常由多个节点组成,每个节点都可以发送和接收数据,从而实现设备之间的实时通信。CAN协议具有高速传输、抗干扰能力强以及可靠性高等特点,被广泛应用于汽车电子系统、工业自动化控制和其他领域。

2023-11-26 12:41:25 1650

原创 STM32 CAN协议讲解以及代码

前面学习了CAN的一些理论知识,他在我们的STM32里面是怎么用的呢前面讲了一些can的知识,在STM32里是什么样的呢。

2023-11-25 22:08:24 2808

原创 带你理解H桥电路

在做单片机控制小车的时候一定会用一个电机驱动板,这个电机驱动板是怎么做的呢,答案就是H桥,没学过电路的同学可能会问什么是H桥,这篇文章能很好的为你解释什么是H桥。我们希望STM32可以方便的调整电机速度,但STM32的IO接口电压和电流一般都是非常有限的,电压是3.3V,电流是8mA,所以为方便控制需要在微控制器和电机直接添加个驱动电路板,该电机驱动板有两种输入线:电源输入线和控制信号输入线。

2023-11-25 14:19:00 1867

原创 电路 buck-boost相关知识

最近需要用到buck-boost相关的电路知识,于是便写下这篇文章复习一下。1.Buck电路——降压斩波器,其输出平均电压、U0小于输入电压Ui,极性相同。BUCK型DC-DC只能降压,降压公式:Vo=Vi*D。2.Boost电路——升压斩波器,其输出平均电压、U0大于输入电压Ui,极性相同。BOOST型DC-DC只能升压,升压公式:Vo=Vi/(1-D)。3.Buck-Boost电路——降压或升压斩波器,其输出平均电压U0大于或小于输入电压Ui,极性相反,电感传输。

2023-11-25 13:53:34 1634

原创 STM32F4移植SPI注意事项

可以看我之前移植的文章,那些就不提了,记得要复用,把IO复用成对应的功能io,然后还要注意时钟,看你需要的功能,去调对应的时钟,把时钟调匹配了,基本上不会有问题。f4默认是168的 但是f1默认是72 这里也要改一下。比如说这里,就是把指定的io复用成功能io。其他的配置网上有很多,就不写了。再看一下F103的时钟。看一下F407的时钟。

2023-11-17 16:12:09 517

原创 STM32F103C8T6硬件spi读取ADS1118

现在要用到SPI去读取数据,读取的芯片是ADX的一款,但是和ADS1118是一模一样的分享一下读取的过程第一步看时序图配置spi第二步根据数据手册读数据。

2023-11-15 14:25:00 696 1

原创 SPI协议详解

好久没写这种协议了,最近正好需要用到,便详细的复习一下。SPI 的优点在于它有着比 I2C 更高的吞吐量,不被最大时钟速度所限制,可实现潜在的高速、极为简单的硬件接口,外围电路使用的上拉电阻是比 I2C 协议更少的,这意味着它比 I2C 的功耗更低、从机的时钟来源来自主机设备,无需新增精密振荡器、从机不需要唯一的地址、相对于并行接口而言,使用的引脚数目大大减少等优点。

2023-11-14 22:28:06 266

原创 三刷操作系统之一文带你搞懂FreeRTOS——任务通知

从 v8.2.0 版本开始,FreeRTOS 新增了任务通知(Task Notifictions)这个功能,可以使用任务通知来代替信号量、消息队列、事件标志组等这些东西。使用任务通知的话效率会更高。相对于以前使用 FreeRTOS 内核通信的资源,必须创建队列、二进制 信号量 、计数信 号量或事件组的情况,使用任务通知显然更灵活。按照 FreeRTOS 官方的说法,使用任务 通知比通过信号量等 ICP 通信方式解除阻塞的任务要快 45%,并且更加省 RAM 内存空间 (使用 GCC。

2023-10-23 15:16:46 151

原创 三刷操作系统之一文带你搞懂FreeRTOS——内存管理

看名字就知道是小块的、碎片化的内存。那么内存碎片是怎么来的呢?内存碎片是伴随着内存申请和释放而来的(1)、此时内存堆还没有经过任何操作,为全新的。(2)、此时经过第一次内存分配,一共分出去了 4 块内存块,大小分别为 80B、80B、10B 和100B。(3)、有些应用使用完内存,进行了释放,从左往右第一个 80B 和后面的 10B 这两个内存块就是释放的内存。

2023-10-23 15:11:38 97

原创 三刷操作系统之一文带你搞懂FreeRTOS——事件标志组

任务间的同步除了信号量还有事件标志组,信号量的同步通常是一对一的同步,有的时候系统需要多对一的同步,信号量就满足不了了,比如同时满足5个按键按下时,任务启动,如果使用信号会很占据资源,所以 RTOS 引入了事件标志组来满足。1、事件位(事件标志)事件位用来表明某个事件是否发生,事件位通常用作事件标志,比如下面的几个例子:● 当收到一条消息并且把这条消息处理掉以后就可以将某个位(标志)置 1,当队列中没有消息需要处理的时候就可以将这个位(标志)置 0。

2023-10-23 15:11:05 102

原创 三刷操作系统之一文带你搞懂FreeRTOS——FreeRTOS中断

与中断相关的硬件可以划分为三类:外设、中断控制器、CPU 本身外设:当外设需要请求 CPU 时,产生一个中断信号,该信号连接至中断控制器。中断控制器:中断控制器是 CPU 众多外设中的一个,它一方面接收其他外设中断信号 的输入,另一方面,它会发出中断信号给 CPU。可以通过对中断控制器编程实现对中断源 的优先级、触发方式、打开和关闭源等设置操作。

2023-10-23 15:10:27 188

原创 三刷操作系统之一文带你搞懂FreeRTOS——队列

在实际的应用中,常常会遇到一个任务或者中断服务需要和另外一个任务进行“沟通交流”,这个“沟通交流”的过程其实就是消息传递的过程。在没有操作系统的时候两个应用程序进行消息传递一般使用全局变量的方式,但是如果在使用操作系统的应用中用全局变量来传递消息就会涉及到“资源管理”的问题。FreeRTOS 对此提供了一个叫做“队列”的机制来完成任务与任务、任务与中断之间的消息传递。队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列中可以存储有限的、大小固定的数据项目。

2023-10-23 15:09:54 88

原创 三刷操作系统之一文带你搞懂FreeRTOS——互斥信号量和递归互斥信号量

互斥信号量其实就是一个拥有优先级继承的二值信号量,在同步的应用中(任务与任务或中断与任务之间的同步)二值信号量最适合。互斥信号量适合用于那些需要互斥访问的应用中。在互斥访问中互斥信号量相当于一个钥匙,当任务想要使用资源的时候就必须先获得这个钥匙,当使用完资源以后就必须归还这个钥匙,这样其他的任务就可以拿着这个钥匙去使用资源。互斥信号量使用和二值信号量相同的 API 操作函数,所以互斥信号量也可以设置阻塞时间,不同于二值信号量的是互斥信号量具有优先级继承的特性。

2023-10-23 15:09:23 123

原创 三刷操作系统之一文带你搞懂FreeRTOS——计数型信号量

二进制信号量可以被认为是长度为 1 的队列,而计数信号量则可以被认为长度大于 1 的队列,信号量使用者依然不必关心存储在队列中的消息,只需关心队列是否有消息即可。顾名思义,计数信号量肯定是用于计数的,在实际的使用中,我们常将计数信号量用 于事件计数与资源管理。每当某个事件发生时,任务或者中断将释放一个信号量(信号量 计数值加 1),当处理被事件时(一般在任务中处理),处理任务会取走该信号量(信号 量计数值减 1),信号量的计数值则表示还有多少个事件没被处理。

2023-10-23 15:08:51 97

原创 三刷操作系统之一文带你搞懂FreeRTOS——信号量

信号量常常用于控制对共享资源的访问和任务同步。举一个很常见的例子,某个停车场有100 个停车位,这 100 个停车位大家都可以用,对于大家来说这 100 个停车位就是共享资源。假设现在这个停车场正常运行,你要把车停到这个这个停车场肯定要先看一下现在停了多少车了?还有没有停车位?当前停车数量就是一个信号量,具体的停车数量就是这个信号量值,当这个值到 100 的时候说明停车场满了。

2023-10-23 15:08:23 200

原创 BMS电池管理系统——电芯需求数据(三)

在新能源产业中电芯的开发也占有很大部分,下面我们就来看一下电芯的需求数据有哪些以上写出的数据他的BMS服务都是需要公式以及专业知识去实践的。如果仅仅只是掌握理论远远是不够的。

2023-09-08 21:22:00 585

原创 BMS电池管理系统——BMS的功能模块及基本要素(二)

前面了解了BMS以及他的功能模块,这些功能模块之间的关系是什么呢?

2023-09-08 16:53:57 567

原创 BMS电池管理系统——什么是BMS(一)

作为一名电气专业的学生,大学里学了很多嵌入式相关的知识,首先要明确专业不能落下,但是自己学了三年的嵌入式也不能落下,这个时候新能源行业就是最好的归宿,为了能够快速的融入新能源行业,决定学习BMS、EMS、PCS。我将用一周的时间来入门BMS,并记录自己的学习心得。同时也希望能够帮到各位准备从事新能源行业的小伙伴。系统的学习之后,对BMS也有了一个初步的了解。

2023-09-07 22:19:22 801 1

原创 Linux系统下imx6ull QT编程——开发环境及 U盘拷贝文件(十)

前面学习了一些基础,然后qt我也有学过,直接动手在开发板上进行编程吧,但是开发板需要安装环境,需要拷贝一些文件,我使用得是U盘。

2023-06-01 22:17:05 881

K210车牌识别,可以打印帧率和中文车牌,亲测可用

K210车牌识别

2022-10-24

STM32配合MLX红外测温模块,结合蜂鸣器LED灯光电对管代码

亲测可用

2022-10-24

口罩检测.7z(里面含有K210和32单片机的所有代码)

K210的口罩模型,串口通信,源码,32源码

2021-11-14

垃圾分类项目.7z(里面含有这个项目所有代码)

里面包括K210的模型文件,源码,串口通信部分,和32单片机的代码。这个直接下载就可以使用

2021-11-14

空空如也

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

TA关注的人

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