自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 学习RT-thread(项目一:基于RT-thread的multi_button控制灯闪烁)

摘要:本项目基于STM32开发板实现按键控制LED功能。使用multi_button组件检测按键状态(单击/双击/长按),通过事件集机制实现按键与LED的异步通信。按键1(PB5)控制LED1(PA12),按键2(PA11)控制LED2(PB4),支持三种操作模式:单击使LED闪烁、双击常亮、长按熄灭。系统采用RT-Thread实时操作系统,创建独立线程处理按键检测和LED控制,通过回调函数和事件标志实现松耦合交互。实验验证了不同按键操作能正确触发对应的LED状态变化,满足设计要求。

2025-11-09 20:34:50 378

原创 学习RT-thread(邮箱、消息队列)

本文介绍了RT-Thread操作系统中的邮箱和消息队列两种线程间通信机制。邮箱用于实现线程间固定4字节数据的传输,提供了创建、发送和接收等基本操作函数,并通过按键控制LED灯的实验演示了其应用。消息队列作为邮箱的扩展,支持不固定长度的消息传输,同样包含创建、发送和接收函数,并给出了类似的应用实例。文章详细说明了两种机制的工作原理、相关API函数及具体实现代码,展示了RT-Thread中高效线程通信的两种典型方式。实验结果验证了按键触发消息传递并控制LED状态翻转的功能。

2025-11-09 15:36:09 1006

原创 学习RT-thread(事件集)

RT-Thread事件集是一种线程同步机制,允许通过32位无符号整数实现多事件同步。每个bit代表一个事件,支持"逻辑与"(必须所有事件发生)和"逻辑或"(任一事件发生)两种触发方式。文章通过公交站案例说明三种事件触发场景,并给出实验代码:创建三个线程分别检测两个按键事件,当两个事件都满足时(使用RT_EVENT_FLAG_AND)才触发LED状态翻转。关键函数包括rt_event_init()、rt_event_send()和rt_event_recv(),其中re

2025-11-07 19:42:32 622

原创 学习RT-thread(信号量、互斥量)

RT-Thread信号量与互斥量机制解析 摘要: 本文介绍了RT-Thread中信号量和互斥量的实现原理与应用。信号量通过管理员-停车场类比说明其工作机制,用于线程同步和资源管理,包含初始化、获取/释放等操作。互斥量作为特殊二值信号量,支持递归访问和优先级继承,能有效防止优先级翻转问题。实验部分通过两个案例演示:1)按键触发信号量控制LED亮灭;2)互斥量实现线程交替控制LED状态。代码示例详细展示了初始化、线程创建及同步操作的具体实现,验证了两种机制在资源互斥访问中的有效性。

2025-11-07 18:30:23 1183

原创 学习RT-thread(RT-thread定时器)

RT-Thread的定时器机制基于系统时钟节拍实现,提供硬件和软件两种定时器模式。硬件定时器在中断上下文中执行,要求超时函数简短高效;软件定时器则运行在专用线程环境中。定时器通过链表管理,按超时时间排序,当系统时钟增长到预设值时触发相应操作。实验演示了创建两个周期性软件定时器:一个控制LED灯闪烁,另一个周期打印信息,验证了定时器在1秒间隔下的准确触发。该机制为实时系统提供了精确的时间事件处理能力,需注意硬件定时器对执行时间的严格限制。

2025-11-02 20:43:41 1000

原创 学习RT-thread(线程、线程调度方式、线程状态)

RT-Thread线程调度机制与应用示例 摘要:RT-Thread采用抢占式和时间片轮转相结合的线程调度机制。高优先级线程能够立即抢占CPU,而相同优先级线程通过时间片分配执行时间。文章介绍了线程的五种状态(初始、就绪、挂起、运行、关闭)及相关操作函数。通过实验创建了两个优先级相同的线程,分别以50tick和200tick周期输出信息,并在1000tick后删除其中一个线程,验证了时间片轮转调度机制。结果显示两个线程按分配的时间片交替执行,实现了多任务并发处理。该系统适用于嵌入式实时应用场景,如传感器数据采

2025-11-02 19:18:38 734

原创 学习RT-thread(RT-thread启动流程、自动初始化函数、RT-thread串口终端)

RT-Thread系统支持自定义命令行功能,用户可通过MSH_CMD_EXPORT宏定义添加新命令,在串口终端直接调用。系统采用独特的$Sub$$和$Super$$模式为现有函数打补丁,并具有自动初始化机制(6个优先级),通过INIT_*_EXPORT宏声明即可在启动时自动执行初始化函数,无需显式调用。系统启动流程先完成硬件、时钟和调度器初始化后再进入main函数,有别于传统RTOS。这些特性简化了系统调试和功能扩展。

2025-11-02 18:17:51 307

原创 学习RT-Thread(RT-Thread简介、RT-Thread环境搭建)

RTOS(实时操作系统)是一种能够及时响应外部事件的多任务操作系统,具有确定性行为和优先级调度等特点。文章重点介绍了RT-Thread这一国产轻量级RTOS,详细阐述了其特点、应用领域以及工程搭建方法。通过STM32CubeMX工具,演示了如何在STM32F103C8T6芯片上配置RT-Thread Nano内核,包括串口设置、时钟配置等关键步骤,并完成工程测试。该教程为开发者提供了快速上手RT-Thread的实践指南,适用于物联网设备和工业控制等实时应用场景。

2025-11-01 20:24:01 1497 2

原创 学习FreeRTOS(中断管理)

摘要:本文介绍了ARM体系中的中断机制及其在FreeRTOS中的应用。中断是CPU暂停当前程序响应外部事件的过程,相比轮询能提高CPU效率并实现实时响应。文章详细说明了中断优先级、执行流程及注意事项,强调中断服务函数应尽量简短。通过实验演示了按键触发中断向队列发送数据、任务接收数据的实现过程,包括CubeMX配置和关键代码片段(HAL_GPIO_EXTI_Callback中断回调函数和任务接收队列数据逻辑)。实验现象验证了按下KEY1按键成功通过中断机制实现队列数据传输。

2025-11-01 17:56:03 262

原创 学习FreeRTOS(软件定时器)

摘要:本文介绍了FreeRTOS软件定时器的原理与使用方法。软件定时器通过定时器服务任务实现定时功能,分为单次定时器和周期定时器两种模式。其配置包括优先级、队列长度等参数设置,并提供创建、启动、停止等API函数。实验部分演示了创建两个定时器(周期1秒和单次2秒定时器)并输出信息的过程。相比硬件定时器,软件定时器具有成本低、可扩展性强但精度较低的优缺点,适用于大多数不要求高精度的应用场景。

2025-11-01 17:19:33 1019

原创 学习FreeRTOS(任务通知)

摘要:FreeRTOS任务通知是一种高效任务间通信机制,每个任务具有32位通知值,可替代信号量、队列等功能。其优势在于速度快(比二进制信号量快45%)、节省内存;劣势在于仅支持任务间一对一通信且中断不可用。API包括xTaskNotify()等发送函数和ulTaskNotifyTake()等接收函数。通过代码示例展示了如何模拟二值信号量、计数信号量、事件标志组和邮箱功能,其中邮箱功能通过eSetValueWithOverwrite/eSetValueWithoutOverwrite参数控制是否覆盖通知值。实

2025-10-31 21:43:18 1182

原创 学习FreeRTOS(事件标志组)

事件标志组是FreeRTOS中用于多任务事件同步的机制,本质上是24位无符号整数(高8位保留),每个位代表一个事件。主要API包括:创建事件组(xEventGroupCreate)、设置标志位(xEventGroupSetBits)、清除标志位(xEventGroupClearBits)和等待标志位(xEventGroupWaitBits)。实验演示了通过两个任务实现按键触发:Task1检测KEY1/KEY2并设置对应标志位,Task2等待两个按键都被按下(当xWaitForAllBits为pdTRUE时需

2025-10-31 19:59:32 484

原创 学习FreeRTOS(互斥量)

摘要:本文探讨了互斥量与二值信号量的区别及其在解决优先级翻转问题中的应用。互斥量通过优先级继承机制,在低优先级任务占用资源时临时提升其优先级,减少高优先级任务的阻塞时间。实验演示了三个优先级任务(H/M/L)在使用二值信号量时出现的优先级翻转现象:当TaskL持有信号量时,TaskM会抢占CPU资源,导致TaskH长时间阻塞。改用互斥量后,TaskL持有资源时其他任务无法干预,有效避免了优先级翻转。关键API函数为xSemaphoreCreateMutex(),但互斥量不可用于中断服务。实验证明互斥量能更好

2025-10-30 18:26:16 486

原创 学习FreeRTOS(二值信号量、计数型信号量)

信号量是用于多任务环境下的同步机制,分为二值信号量和计数型信号量。二值信号量只有0/1两种状态,用于互斥访问和任务同步;计数型信号量可容纳多个资源。文章详细介绍了两种信号量的创建(xSemaphoreCreateBinary/CreateCounting)、释放(xSemaphoreGive)和获取(xSemaphoreTake)API函数,并通过按键实验演示操作过程。实验发现:1)CubeMX生成的二值信号量默认已初始化,需修改;2)计数型信号量需手动设置初始值和最大值。当信号量达到上限时,继续操作会返回

2025-10-30 17:26:07 1200

原创 学习FreeRTOS(队列)

队列是一种先进先出(FIFO)的数据结构,用于任务间通信,可避免全局变量引发的数据竞争问题。其特点包括:支持数据拷贝或指针传递,允许多任务访问,提供阻塞/非阻塞操作模式。通过STM32实验演示队列使用:创建16长度的队列,按键1发送数据(上限16个),按键2接收数据。当队列满时发送失败,空时接收失败,验证了队列的容量限制和FIFO特性。核心API包括xQueueCreate、xQueueSend和xQueueReceive。队列有效解决了多任务环境下的数据安全传递问题。

2025-10-29 22:00:37 782

原创 学习FreeRTOS(任务的创建与删除、任务调度、任务的状态)

本文介绍了FreeRTOS任务管理的基本概念和实现方法。主要内容包括:1)任务创建与删除,通过xTaskCreate()函数实现动态任务创建;2)任务调度机制,包括高优先级抢占式调度和同等优先级时间片轮转调度;3)任务四种状态(运行态、就绪态、阻塞态、挂起态)及转换规则;4)综合实验演示了LED控制任务的创建、删除、挂起和恢复操作,通过按键可动态管理任务状态。实验结果表明,FreeRTOS能有效实现多任务调度管理,满足实时系统需求。

2025-10-28 22:35:35 743

原创 学习FreeRTOS(FreeRTOS移植到STM32F103C8T6)

FreeRTOS是一款免费的轻量级实时操作系统(RTOS),具有任务管理、内存管理等功能,适合资源有限的单片机。相比商业RTOS,它开源免费、可移植性强。FreeRTOS通过时间片轮转实现多任务调度,使多个任务看似并行运行。文章详细介绍了使用STM32CubeMX工具将FreeRTOS移植到STM32F103C8T6的步骤,包括时钟配置、版本选择等注意事项,并解释了常见问题如SysTick被占用、版本差异等。最后还概述了FreeRTOS的配置选项功能,为开发者提供实用参考。

2025-10-28 20:19:15 762

原创 学习HAL库STM32F103C8T6(实时时钟项目、WIFI天气预报项目)

摘要:项目1开发基于RTC和OLED的实时时钟系统,实现时间/闹钟设置(通过按键调整数值)、蜂鸣器提醒及OLED信息显示功能。项目2利用ESP8266获取心知天气API数据,通过OLED显示三天天气预报,支持按键切换日期和手动更新。两个项目均包含硬件清单、接线图、代码架构(OLED驱动、外设控制、JSON解析等)及功能演示说明,涉及嵌入式开发、API调用和用户交互设计。

2025-10-22 23:15:37 1252

原创 学习HAL库STM32F103C8T6(DHT11温湿度传感器、将温湿度上传到OneNet平台实验)

DHT11温湿度传感器是一款高性价比的数字复合传感器,采用单总线通信协议,具有快速响应和抗干扰能力强的特点。其工作电压为3-5.5V,采集40位数据(含温湿度整数和小数值及校验位),分辨率均为8bit。使用时需注意初始化时序,主机需先拉低总线18ms以上,传感器响应后以50us时隙传输数据。配套开发包括驱动代码编写、ESP8266联网模块以及OneNet平台对接,最终实现温湿度数据在串口助手和物联网平台的双重显示。使用时需避免结露,长期保存建议在10-40℃、湿度60%以下环境。

2025-10-15 21:58:22 937

原创 学习HAL库STM32F103C8T6(MQTT报文)

MQTT协议摘要(147字) MQTT是一种基于TCP/IP的轻量级发布/订阅消息协议,采用客户端-服务端架构。核心功能包括: 主题机制:客户端通过订阅主题接收相关消息,类似社交媒体关注机制 三种服务质量(QoS0/1/2):从不保证送达、至少送达一次到精确送达一次 心跳机制:通过PINGREQ/PINGRESP维持长连接 遗嘱消息:异常断线时自动发布预设消息 报文结构:固定报头+可变报头+有效载荷组成,支持16进制编码 典型应用于物联网设备通信,支持OneNET等云平台,具有低带宽、高可靠特点。

2025-10-14 22:50:57 294

原创 学习HAL库STM32F103C8T6(CAN,CAN收发实验)

摘要:CAN(控制器局域网络)是BOSCH公司开发的串行通信协议,具有多主控制、高可靠性和远距离传输等特点,广泛应用于汽车、工业自动化等领域。CAN协议分为低速和高速两种标准,采用差分信号传输,通过仲裁机制解决总线冲突。STM32微控制器集成了CAN控制器(bxCAN),支持标准帧和扩展帧,具有发送邮箱、接收FIFO和过滤器组等功能,可配置为正常模式、静默模式或环回模式进行测试。实验通过回环模式实现CAN数据的自发自收,验证通信功能。

2025-10-09 21:20:26 819

原创 学习HAL库STM32F103C8T6(SPI、门禁密码实验)

本文摘要介绍了SPI通信协议及其在门禁密码系统中的应用。首先对比了SPI与IIC的差异,详细说明了SPI的全双工特性、四线制物理架构和工作原理。其次重点介绍了W25Q128闪存芯片的存储结构和驱动方法。最后阐述了基于STM32的门禁系统设计方案,包括矩阵键盘扫描、OLED显示和SPI闪存存储等模块的实现。该系统通过矩阵键盘输入密码,利用SPI接口的W25Q128存储密码信息,并通过OLED屏幕显示操作状态,实现了完整的门禁控制功能。文章详细说明了各硬件模块的工作原理和代码实现方法。

2025-09-25 20:42:10 876

原创 学习HAL库STM32F103C8T6(低功耗、低功耗实验)

摘要:STM32的低功耗模式适用于电池供电设备,包含运行、睡眠、停机和待机四种模式。睡眠模式保持外设运行,停机模式关闭核心时钟,待机模式功耗最低但会复位。实验通过按键切换模式,利用LED指示状态变化。不同模式通过配置寄存器实现,可根据应用需求选择。

2025-07-26 16:01:36 670

原创 学习HAL库STM32F103C8T6(BKP、RTC、BKP收发实验、RTC显示时间实验、RTC闹钟实验)

本文介绍了备份寄存器(BKP)和实时时钟(RTC)的基本原理与应用。BKP是42个16位寄存器,可在断电时由VBAT供电保存数据,需通过特定寄存器设置才能访问。RTC是一个独立定时器,提供时钟日历功能,通过32位计数器实现Unix时间戳记录,支持三种时钟源选择。文章详细说明了二者的配置流程,包括时钟使能、寄存器访问控制等关键步骤,并提供了BKP读写、RTC时间设置和闹钟功能等实验示例,突出了在系统复位或待机模式下数据保持的特点。通过具体代码演示了如何操作这些功能模块。

2025-07-25 15:42:24 635

原创 学习HAL库STM32F103C8T6(IIC、OLED驱动显示字符、字符串、图片)

I2C总线相比串口通信具有线路少、支持多机通信、同步传输等优势。I2C采用主从架构,通过起始/停止信号控制通信,利用应答机制确保可靠传输,广泛应用于传感器、存储器等设备。0.96寸OLED屏幕采用SSD1306驱动芯片,具有高对比度、自发光等优点,通过I2C接口实现显示控制。实验通过编写驱动代码,实现了OLED对字符、字符串、汉字及图片的显示功能,关键点包括取模工具使用和GDDRAM存储管理。

2025-07-17 21:40:36 847 1

原创 学习HAL库STM32F103C8T6(ADC、ADC单通道阻塞读取和DMA读取、ADC多通道DMA读取)

全称:Analog-to-Digital Converter,指模拟/数字转换器。ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。12 位 ADC 是一种逐次逼近型模拟数字转换器(0~4095)。它有多达 18 个通道,可测量 16 个外部和 2 个 内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐 方式存储在 16 位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。

2025-07-16 16:46:32 1980

原创 学习HAL库STM32F103C8T6(DMA,DMA三种模式实验)

DMA(直接存储器访问)是一种无需CPU干预的数据传输技术,在STM32中用于外设与存储器间的高速数据搬运。它通过专用通道(DMA1有7个通道)实现三种传输方式:存储器到存储器、存储器到外设(如串口发送)、外设到存储器(如串口接收)。DMA支持优先级管理(软件4级+硬件通道号)、两种传输模式(单次/循环)和指针递增功能。实验案例展示了DMA在内存复制、串口收发中的应用,有效减轻CPU负担。STM32F103C8T6仅支持DMA1控制器,数据传输时需注意通道分配(如串口1发送用通道4,接收用通道5)及对齐方式

2025-07-15 16:50:35 799

原创 学习HAL库STM32F103C8T6(制作WIFI风扇调节档位)

摘要:本项目利用ESP8266 WiFi模块实现电脑远程控制风扇。ESP8266支持STA、AP、AP+STA三种工作模式,通过AT指令进行配置和控制。硬件连接采用USB转TTL工具调试,设置TCP透传模式实现远程通信。系统通过发送AT指令控制风扇模块(ATK-MB023),包括PWM调速功能。开发过程涉及ESP8266工作模式设置、网络连接调试和代码编写,最终实现电脑通过网络调试助手发送指令控制风扇转速的功能。项目展示了物联网设备的远程控制方案,适用于智能家居等应用场景。

2025-07-14 18:33:40 1084

原创 学习HAL库STM32F103C8T6(串口、串口实现收发实验)

串口通信基础与STM32应用 摘要:串口通信作为串行数据传输方式,包含单工、半双工和全双工三种工作模式,以及同步/异步两种通信方式。通信速率通过比特率和波特率衡量,二者在二进制系统中数值相等。串口采用起始位、数据位、校验位和停止位的帧结构,支持多种电平标准(TTL、RS-232等)。STM32的USART模块具有全双工通信、最高4.5Mbps波特率、硬件流控制等功能,支持同步/异步模式。通过三个实验(单字符收发、接收中断处理不定长数据、空闲中断处理)展示了USART的实际应用。

2025-07-13 13:07:49 775

原创 学习HAL库STM32F103C8T6(独立看门狗和窗口看门狗)

摘要:独立看门狗(IWDG)和窗口看门狗(WWDG)是两种不同的硬件看门狗。IWDG使用12位递减计数器,通过LSI时钟工作,主要检测硬件异常,超时未喂狗则系统复位。WWDG使用6位计数器,检测软件运行时效,需在特定窗口期内喂狗,否则复位。IWDG适用于电磁干扰等硬件故障场景,WWDG则用于需要精准时序检测的场合。两者在时钟源、计数位数、喂狗机制和应用场景上存在明显差异。实验表明,IWDG喂狗周期为1秒,而WWDG窗口期约29ms,超出窗口喂狗将触发复位。

2025-07-12 15:00:55 463

原创 学习HAL库STM32F103C8T6(感应开关盖垃圾桶项目)

摘要:本项目设计了一款智能感应开关盖垃圾桶,通过超声波传感器检测人体靠近、震动传感器感知震动、按键触发三种方式自动开盖,并伴有蜂鸣提示和LED闪烁。系统采用HC-SR04超声波传感器(探测距离2-600cm)、SW-18015P震动传感器、SG90舵机(转动角度0-180°)等硬件组件,利用PWM信号控制舵机角度实现开合动作。各传感器模块通过特定时序信号工作,如超声波传感器通过计算声波往返时间测距。系统具有2秒自动关盖功能,实现了智能化的垃圾投放体验。

2025-07-11 15:37:57 736

原创 学习HAL库STM32F103C8T6(输入捕获、测量按键按下时间实验、脉冲捕获、捕获按键脉冲实验)

摘要: 本文详细介绍了STM32定时器的输入捕获原理及实现方法,重点解析了HAL库相关函数的使用。输入捕获通过CCRx寄存器锁存边沿触发时的CNT值,信号需经过滤波、边沿检测、分频和锁存处理。实验配置包括定时器初始化(HAL_TIM_IC_Init)、通道参数设置(HAL_TIM_IC_ConfigChannel)及中断启动(HAL_TIM_IC_Start_IT)。文章还阐述了脉冲计数原理及其在按键检测中的应用,并讲解了关键函数如HAL_TIM_ReadCapturedValue和极性控制宏的使用方法。最

2025-07-09 16:45:43 1299

原创 学习HAL库STM32F103C8T6(定时器、定时器中断控制led、输出比较原理、PWM、呼吸灯实验)

摘要:本文介绍了STM32F103C8T6微控制器的定时器功能,包括高级定时器TIM1和通用定时器TIM2/3/4的特点与应用。详细讲解了定时器工作原理、计数模式、溢出时间计算方法(Tout=(ARR+1)(PSC+1)/Ft),并以500ms定时为例说明参数配置。文章还阐述了定时器中断实验的配置步骤、相关HAL库函数(如HAL_TIM_Base_Init、HAL_TIM_Base_Start_IT等)的功能及调用关系,重点说明了中断服务函数TIM2_IRQHandler和回调函数HAL_TIM_Perio

2025-07-08 15:27:40 984

原创 学习HAL库STM32F103C8T6(状态机和排队控制系统)

有源蜂鸣器:内部带有震荡源,通电就会发出声音,但是声音音调是单一的,频率是固定的。低电平触发即I/O口给低电平信号即发出声音;高电平触发即I/O口给高电平信号即发出声音。无源蜂鸣器:内部没有震荡源,需要用一定频率的方波(常见的频率范围在2K到5K之间)去驱动它才可以发声。可以通过不同频率的方波驱动,其声音频率是可控。蜂鸣器可根据触发信号分为高电平触发和低电平触发, 一般接3.3V或5V,建议接3.3V。VCC、GND和I/O控制端口,电压的信息是3.3~5v,低电平触发​。

2025-07-07 17:40:53 978 1

原创 学习HAL库STM32F103C8T6(SysTick和手撸延时函数和模拟多线程)

SysTick控制及状态寄存器(CTRL)SysTick重装载数值寄存器(LOAD)SysTick当前数值寄存器(VAL)

2025-07-06 16:21:28 1088

原创 学习HAL库STM32F103C8T6(制作电动车报警器)

当检测到震动时,板载指示灯点亮;震动停止,板载指示灯熄灭。用螺丝刀转动「灵敏度调节电位器」可以调节灵敏度。大家可以将电位器旋到最左或最右,然后测试往哪边 旋可以提高灵敏度。SW-18015P 为密封弹簧型、无方向性震动感应触发开关,任何角度均可触发。正常使用情况下开关寿命可达20万次。有源蜂鸣器:内部带有震荡源,通电就会发出声音,但是声音音调是单一的,频率是固定的。低电平触发即I/O口给低电平信号即发出声音;高电平触发即I/O口给高电平信号即发出声音。

2025-07-05 15:24:26 931

原创 学习HAL库STM32F103C8T6(中断和中断控制小灯实验)

NVIC是STM32的中断管理核心,具有以下特性:中断嵌套机制:高优先级中断可抢占低优先级中断优先级控制:支持抢占优先级和响应优先级两级配置中断容量:最多支持256个中断(16个内核异常+240个外部中断)实时响应:通过硬件级中断向量表实现快速跳转灵活配置:优先级分组可调,支持中断屏蔽和挂起该设计显著提升系统实时性,适用于需要快速响应外部事件的场景。最常用的就是划线的几个分别对应上面表格的。

2025-07-04 18:30:52 1895 2

原创 学习HAL库STM32F103C8T6(GPIO和点亮LED灯)

GPIO_InitTypeDef结构为Pin(选择引脚)的参数有Mode(选择模式)的参数有PULL(选择上拉下拉浮空状态)的参数有Speed(选择速度)的参数有我们要点亮LED1根据原理图所以gpio_initstruct.Pin=GPIO_PIN_8;我们要实现开关灯的功能要输出高低电平所以模式选择为推挽模式所以gpio_initstruct.Mode=GPIO_MODE_OUTPUT_PP;设置默认状态为上拉状态所以gpio_initstruct.Pull=GPIO_PULLUP;

2025-07-03 15:19:53 1054 7

原创 学习HAL库STM32F103C8T6(系统时钟配置)

时钟是由电路产生的具有周期性的脉冲信号,相当于单片机的心脏,给单片机提供一个统一的信号。要想使用单片机的外设必须开启相应的时钟。HSE = 高速外部时钟HSI = 高速内部时钟LSI = 低速内部时钟LSE = 低速外部时钟HAL_StatusTypeDef的参数有RCC_OscInitTypeDef类型结构为。

2025-07-02 17:11:26 2432 4

空空如也

空空如也

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

TA关注的人

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