自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32-FreeRTOS操作系统-事件

在 FreeRTOS 中,事件组中的每个事件位通常是一个二进制位,可以表示一个特定的事件。事件位通常通过宏定义来表示,以便于代码的可读性和维护性。通俗的讲,事件的核心就是设置事件标志位,然后读取该标志位状态,进而执行要执行的逻辑。类似按键检测一样,不断检测按键有没有被按下,如果被按下则执行按下逻辑。本文仅是个人观点,不代表最终解释,如有不足,欢迎指出。

2025-12-18 12:39:17 723

原创 STM32-FreeRTOS操作系统-互斥量

互斥量(Mutex)是FreeRTOS中一种重要的同步原语,用于在多任务环境中保护共享资源的访问。当一个任务获取互斥量后,其他任务必须等待,直到该任务释放互斥量。互斥量不仅防止多个任务同时访问共享资源,还能确保任务以正确的优先级顺序获取资源,避免优先级反转问题。它为嵌入式系统中的资源管理提供了高效且可靠的解决方案。

2025-10-22 13:50:25 1042

原创 STM32-FreeRTOS操作系统-二值信号量与计数信号量

二值信号量是一种同步机制,用于在多任务环境中协调任务的执行。它本质上是一个只能取两个值(通常是0和1)的变量,类似于一个开关。当信号量的值为1时,表示资源可用;当值为0时,表示资源已被占用。在FreeRTOS中,二值信号量主要用于任务间的同步,而不是用于互斥。它的工作原理如下:当一个任务需要资源时,它会尝试获取信号量。如果信号量的值为1,任务会将其值减1并继续执行;如果信号量的值为0,任务会进入阻塞状态,等待信号量变为1。当另一个任务释放资源时,它会将信号量的值加1,从而唤醒等待的任务。

2025-09-12 15:03:18 1380 1

原创 STM32-FreeRTOS操作系统-消息队列

消息队列是一种在 FreeRTOS 中用于任务间通信的机制。它允许任务将消息发送到队列中,其他任务可以从队列中接收这些消息。消息队列可以存储多种类型的数据,如整数、指针或结构体等。通过消息队列,任务之间可以实现解耦,提高系统的可维护性和可扩展性。在 STM32 系统中,合理使用消息队列可以有效协调多个任务的运行,优化资源分配,确保系统的高效稳定运行。

2025-09-11 14:42:21 725 1

原创 STM32-FreeRTOS操作系统-任务管理

在嵌入式系统中,任务管理是确保系统高效、稳定运行的关键环节。随着系统功能的日益复杂,多个任务需要同时运行,且每个任务都有其优先级和资源需求。任务管理通过合理分配处理器时间、优化任务调度、确保任务间通信顺畅,使系统能够高效处理多任务,避免任务冲突和资源浪费。它还能提高系统的响应速度和可靠性,确保关键任务优先执行,从而提升用户体验和系统性能。任务挂起是任务管理中的一个重要机制,其主要目的是为了更合理地分配系统资源和优化任务调度。当一个任务暂时不需要运行时,将其挂起可以释放处理器时间,让其他更重要的任务得以执行,

2025-09-02 13:14:39 677

原创 STM32-FreeRTOS操作系统-任务创建

本文简单介绍了在STM32微控制器上使用FreeRTOS操作系统创建任务的方法,包括任务函数定义、任务创建函数调用及任务优先级设置等内容,帮助开发者快速掌握STM32下FreeRTOS任务创建的关键步骤。

2025-09-01 10:59:51 986

原创 STM32F4系列单片机如何修改主频

我首先想到最大的区别就是主频不同,什么是主频,我的理解就是CPU运行的频率,频率越大,性能肯定越强,F1系列单片机的主频大多数都是72Mhz,而F4系列单片机的主频却来到了惊人的168Mhz,什么概念?比F1的2倍还有多。所以刚刚从F1转到F4的朋友肯定会这么想,不就是主频提高了吗,把F1系列的代码移植管理不就行了吗。刚开始我也是这样想,也确实,除了配置方式不同意外,其它都大差不差。但当用上通信协议(软件模拟iic)的时候就发现,照搬F1系列的代码到F4系列上根本就行不通。其原因就在于F1与F4系列的主频不

2025-08-29 18:01:45 816

原创 STM32-BKP备份寄存器与RTC实时时钟

STM32的BKP备份寄存器是一种特殊的存储单元,它位于备份区域,即使在系统复位或电源关闭时,也能通过电池备份保持数据不丢失。它通常包含多个寄存器,用于存储关键数据,如配置信息、状态标志等。这些寄存器通过低功耗设计和独立的备份电源,确保数据在主电源失效时仍能安全保存,为系统恢复和数据完整性提供可靠保障。

2025-08-22 13:18:58 1178 1

原创 STM32单片机-SysTick滴答定时器

时间管理是嵌入式系统的关键,而STM32单片机的SysTick定时器就是实现这一功能的核心工具。本文将介绍SysTick定时器的基本原理、配置方法及实际应用案例。SysTick定时器是STM32单片机内核自带的一个系统定时器,主要用于提供系统滴答时钟,为操作系统或任务调度提供时间基准。它是一个24位的倒计数定时器,具有简单易用,高精度,应用广泛特点。在实际应用中,SysTick定时器经常用于操作系统的时间管理,任务调度,时间测量的场景。

2025-08-20 13:05:33 1199

原创 STM32F103系列之GPIO引脚的重映射

前段时间在做一个项目的时候遇到一个问题,使用GPIO引脚的PB3和PB4的时候,发现不能正常使用,后来无论怎么改怎么配置都用不了,后来才想起来GPIO引脚还有一个叫。下面是USART1的示例参考代码,本代码是将USART1的TXD引脚从PA9重映射到PB6上,同时保留PA10(RXD)引脚。通过重映射,可以灵活地调整外设引脚的连接方式,以满足不同的硬件设计需求,提高引脚资源的利用率。简单来说,GPIO引脚重映射就是把STM32芯片上原本连接某个功能的引脚,换到别的引脚上。

2025-08-13 12:07:51 1023

原创 STM32F103系列基于HAL库的串口通信(串口,串口中断,串口DMA)

本文章讲述的是STM32F103系列基于HAL库开发的串口通信,包含普通串口串口中断以及串口DMA,感兴趣的可以好好看看。本次实验用到的模块有:STM32C8T6系统板,0.96寸OLED屏幕以及HC-08蓝牙模块普通串口接收(HAL_UART_Receive)简单介绍:`HAL_UART_Receive`是 STM32 HAL 库中用于 UART 数据接收的阻塞函数。它接收指定数量的字节,并将数据存储到指定的缓冲区中。该函数会一直等待,直到数据接收完成或超时,因此会阻塞程序的执行。

2025-07-03 16:49:59 1508

原创 51单片机之流水灯(左移和右移)

利用51单片机,通过对CPU相关(特殊)寄存器的改写,说白了就是通过改变单片机的P2端口的高低电平进行改写,从而实现LED灯闪烁及流水灯的实现。本次实验的目的是LED灯的点亮及实现流水灯左移和右移。实验对象:一块普中51开发板各个模块的原理图LED灯模块:引脚从上到下依次是:P2.0~P7一共8个LED灯,LED灯洋阳极接电源电压VCC(+5V),阴极接的是上拉电阻,起到的是限流的作用,即电阻带着了部分电流,防止LED灯因通过的电流过大而烧坏。

2025-03-31 14:43:37 1339

原创 数电流水灯电路设计

利用所学的的数字逻辑电路的相关理论知识设计并制作一个彩灯 控制电路。

2025-03-24 08:30:00 3478 1

原创 利用EDA嘉立创制作NE5532(放大器)元器件

首先如果我们是以个人账号登录嘉立创的话,我们就得新建立一个元器件库,如图:接着再新建器件(在上图元件库的右边)如图:这里我们再点击管理分类,然后点击一级分类什么的绿色再然后再根据需要命名,最后要先点击应用再点击确认,如图然后再按照NE5532手册上的实物图绘制, 绘制完第一个部分后,如图:鼠标点击左下角的芯片,选择新建部件然后就会跳转到新的一页,然后继续绘制我们的第二部分。

2025-01-12 14:57:09 2224

原创 74LS192芯片实现任意进制的设计(复位法与预置法)

74LS192是一款经典的同步十进制可逆计数器芯片,属于TTL(晶体管-晶体管逻辑)系列。它具有以下主要特点和功能:主要特点• 同步操作:所有触发器在同一时刻响应时钟脉冲的变化,确保数据的一致性和准确性。• 双向计数能力:可以执行向上(增)或向下(减)的计数操作。• 双时钟输入:具有两个时钟输入端,分别用于加计数(CPU)和减计数(CPD)。• 清零与预置功能:提供异步清除端口(MR)以及并行加载输入端(PL),用于设置初始状态或强制回到特定数值。

2025-01-07 20:46:27 2971

原创 简易函数信号发生器的设计于制作(方波与三角波)

制作简易函数发生器的实训是一项实践性很强的活动,它不仅加深了我对函数理论知识的理解,还锻炼了我的动手能力和问题解决能力。通过这次实训,我学会了如何将抽象的数学函数转化为具体的电子信号,这个过程让我对信号与系统有了更直观的认识。在实际操作中,我遇到了一些挑战,比如参数调整和信号稳定性的问题,但通过不断尝和调整,我逐渐掌握了技巧,也学会了如何查阅资料和求助于同伴。这次实训让我意识到,理论知识与实践操作之间存在着密切的联系,只有将两者结合起来,才能真正掌握知识。

2024-12-31 18:34:40 2066

原创 如何在Altium designer中去除飞线(AD9)

在我们布线的时候,难免会因为杂乱无章的飞线而感到头大,本文来给大家分享一下如何去除PCB板中的飞线,以便与我们前期的布局。正文1. 快捷键N:在PCB界面按下快捷键N,会弹出一个菜单,选择“Hide Connections”然后选择“All”可以隐藏所有飞线;如果想显示飞线,选择“Show Connections”然后选择“All”即可显示所有飞线。2. 菜单栏操作。

2024-11-01 22:32:20 3972

原创 51单片机之如何更改芯片的焊盘及孔径大小

本文章给大家分享的是如何更改51单片机之如何更改芯片的上焊盘及孔径大小(注:这里指的是芯片上所有的焊盘统一更改)。废话不多说,直接上操作!正文我们把原理图的器件导到PCB板上,只留下芯片,其它器件全部删掉,如图:点击芯片上的任意一个焊盘,然后点击右键,选择查找相似对象,找到孔径及焊盘大小,选择same,最后先点击应用再点击确定,如图:然后我们再根据需要更改,最后关闭窗口即可,如图:这样我们就更改好啦,最后再回到原理图把之前删掉的器件重新导过来就行。

2024-10-24 21:43:15 726

原创 51单片机PCB板布线走线布局及附铜封装

大家好,本文章要给大家分享的是51单片机PCB板布线走线布局及附铜封装。在制作51单片机布线及附铜封装时,首先需要了解单片机的工作原理和电路设计基础。布线是电路设计中的关键步骤,它关系到电路的性能和可靠性。附铜封装则是为了提高电路板的机械强度和散热性能。在设计过程中,要确保信号完整性,避免电磁干扰,并合理布局电源和地线。通过精心的布线和封装设计,可以显著提升51单片机的性能和稳定性。

2024-10-19 23:15:11 2702

原创 51单片机中PCB板元器件的制作和封装

大家好,今天要给大家分享的是 51单片机中PCB板的元器件的制作和封装,内容可能会有点多,但很详细,请大家耐心阅读。废话不多说,我们直奔主题!元器件的制作和封装是电子工业中的关键环节。在制作阶段,根据设计需求,选择合适的材料和技术生产出电阻器、电容器、二极管、三极管等元件,以及集成电路等器件。封装则是将这些元器件安装在特定的外壳或基板上,以保护其免受外界环境影响,同时便于安装和连接。封装形式多种多样,包括直插式、表面贴装式等,不同封装形式适用于不同的应用场景和要求。

2024-10-16 09:44:07 2065

原创 Adiuno 跑马灯(利用电压控制流水速度,点阵模拟电压档位)

总的来说, Arduino跑马灯项目通过控制多个LED灯的亮灭顺序,实现了灯光流动的视觉效果。此项目不仅锻炼了编程和电路搭建能力,还展示了Arduino在物联网和嵌入式系统中的基本应用,是一个简单而有趣的入门项目,适合初学者学习和实践。

2024-10-13 20:57:50 939 1

原创 ALtium Designer 怎么换成中文

Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。现在就跟大家分享一下Altium Designer怎么由英文转成中文。

2024-10-13 14:39:37 6270 1

空空如也

空空如也

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

TA关注的人

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