自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 FreeRTOS常用API

FreeRTOS 提供了丰富的 API 函数,覆盖任务管理、队列、信号量、内存管理等多个领域。以下是按照功能分类的。

2025-05-23 15:59:52 920

原创 FreeRTOS的学习记录(临界区保护,调度器挂起与恢复)

FreeRTOS 的临界区机制通过。

2025-05-18 20:29:46 1530

原创 FreeRTOS的学习记录(中断管理)

在实时操作系统中,中断是一种重要的机制,用于处理紧急事件,确保系统能够及时响应外部或内部的突发状况。FreeRTOS 作为一款广泛应用的实时操作系统,其中断管理机制设计精巧,既保证了中断处理的高效性,又与任务调度系统深度融合,确保整个系统的实时性和稳定性。​FreeRTOS 的中断管理主要涉及中断优先级的设置、中断服务例程(ISR)的编写规范,以及中断与任务之间的交互方式。通过合理配置和使用这些特性,开发者能够充分发挥硬件性能,实现复杂的实时应用。

2025-05-18 15:57:02 1382 1

原创 FreeRTOS的学习记录(任务创建,任务挂起)

首先需要在中配置堆内存大小:FreeRTOS 提供了 5 种堆内存管理方案(~),默认使用,它支持内存块的分配和释放,且能避免内存碎片。定义一个符合 FreeRTOS 要求的任务函数:3. 动态创建任务使用函数创建任务:4. 启动调度器所有任务创建完成后启动调度器:2静态任务创建 (空闲任务内存分配是必须的,定时器是可选的)1. 配置FreeRTOSConfig.h在工程中修改文件,启用静态内存分配:2. 实现内存回调函数在中添加以下函数,为FreeRTO

2025-05-17 20:06:37 1106

原创 FreeRTOS的学习记录(基础知识)

FreeRTOS 是一个开源的实时操作系统(RTOS),专为嵌入式系统设计。它提供了任务管理、时间管理、信号量、消息队列、内存管理等功能,适用于资源受限的微控制器。FreeRTOS 是一个开源的实时操作系统内核,广泛应用于嵌入式系统中。其任务调度机制是其核心功能之一,确保多个任务能够高效、有序地运行。

2025-05-12 17:32:16 800

原创 FreeRTOS学习记录(变量命名规则全解、文件介绍)

前缀宏定义的文件port(举例,portMAX_DELAY)portable.htask(举例,taskENTER_CRITICAL ())task.hpd(举例,pdTRUE)projdefs.hconfig(举例,configUSE_PREEMPTION)err(举例,errQUEUE_FULL)projdefs.h宏实际的值pdTRUE1pdFALSE0pdPASS1pdFAIL0内核基础相同:FreeRTOS Plus 基于 FreeRTOS 开源内核构建。

2025-05-12 16:55:59 1156

原创 从STM32最小系统入门嵌入式的学习记录(RTC时钟)

在嵌入式系统领域,实时时钟(RTC)如同系统的 “时间管家”,其重要性不言而喻。在工业自动化场景中,RTC 能为设备运行数据添加精确时间戳,方便后续故障追溯与数据分析;智能家居设备借助 RTC 实现定时开关、预约任务等功能。而 STM32 最小系统作为探索 STM32 单片机功能的起点,由电源电路、晶振电路、复位电路等核心部分构成。电源电路为芯片提供稳定电压;晶振电路为芯片工作提供时钟信号;复位电路则能在系统异常时恢复到初始状态,它们共同为 RTC 功能的实现搭建起稳定平台。​。

2025-05-07 21:45:39 1400

原创 从STM32最小系统入门嵌入式的学习记录(USART,I2C,SPI通信)

单端通信的双方需要共地,将GND连在一起。

2025-04-28 22:54:35 1125

原创 从STM32最小系统入门嵌入式的学习记录(DMA)

比如在 ADC 数据采集时,若没有 DMA,CPU 需要不断读取 ADC 寄存器的数据,而有了 DMA,CPU 只需在数据传输完成后进行处理,期间可以执行其他任务,这显著提高了系统的整体运行效率。在上述代码中,首先完成 ADC 的初始化配置,然后进行 DMA 通道的配置,将 ADC 的数据寄存器作为数据源,内存数组作为目标存储区域,配置为循环模式,以便持续采集数据。STM32 的 DMA 控制器包含多个通道,每个通道可以配置用于不同的外设数据传输,如 ADC、SPI、I2C 等。

2025-04-20 22:20:37 682

原创 从STM32最小系统入门嵌入式的学习记录(ADC)

例如,将 PA0 引脚配置为模拟输入模式,使得连接到 PA0 的电位器输出的模拟电压信号能够顺利地输入到 ADC1 的通道 0 进行转换。ADC 转换后的数字数据可以采用左对齐或右对齐的方式存储。在右对齐方式下,转换结果的低 12 位(对于 12 位分辨率的 ADC)包含了有效的转换数据,高 4 位为 0。不使用外部触发转换,而是采用软件触发,能让开发者根据程序的需求灵活控制转换的启动时间。对于 12 位分辨率的 ADC,转换结果的范围是 0 - 4095,这个数字值对应着输入模拟信号的幅值。

2025-04-17 22:02:18 699

原创 从STM32最小系统入门嵌入式的学习记录(OLED调试)

SSD1306 驱动的 OLED 显存为。(总高 64 行)。

2025-04-17 20:04:18 1289

原创 从STM32最小系统入门嵌入式的学习记录(TIM输入捕获,TIM编码)

TIM(Timer,定时器)输入捕获是 STM32 等微控制器中定时器的一个重要功能,它可以用来测量脉冲信号的频率、周期、脉宽等参数。下面为你详细解释 TIM 输入捕获的原理、配置步骤以及应用场景。

2025-04-17 16:51:27 538

原创 从STM32最小系统入门嵌入式的学习记录(TIM输出比较,舵机,电机)

输出比较模式下,定时器会将计数器(CNT)的值与预定义的比较值(CCR,捕获 / 比较寄存器)进行比较。当计数器的值等于比较值时,会根据设定的输出比较模式对输出引脚的电平进行操作。每个高级定时器和通用定时器都拥有4个输出比通道高级定时器的前3个通道拥有死区生成和互补输出功能是指在互补输出信号切换时,特意设置的一段两路信号都为低电平的时间间隔。引入死区的目的在于防止上下桥臂的功率开关管同时导通,避免出现直通现象,从而保护功率开关管和电路。

2025-04-13 21:12:56 1050

原创 从STM32最小系统入门嵌入式的学习记录(TIM基本知识,TIM中断)

内部时钟(CK_INT)时钟路径与原理:在 STM32 微控制器内部,系统时钟(SYSCLK)通常由高速外部时钟(HSE)、高速内部时钟(HSI)等经过锁相环(PLL)倍频等处理后得到。对于通用定时器,其内部时钟(CK_INT)来源于 APB 总线时钟。以 STM32F1 系列为例,当 APB1 总线的预分频系数为 1 时,通用定时器的内部时钟频率等于 APB1 总线时钟频率;

2025-04-07 23:09:13 987

原创 从STM32最小系统入门嵌入式的学习记录(EXIT中断)

EXTI 负责管理 STM32 的外部中断 / 事件线,可支持多达 23 个中断 / 事件线,其中包括 16 个 GPIO 引脚,以及其他如 PVD、RTC 闹钟等专用中断线。每个中断 / 事件线都可以独立配置触发模式(上升沿、下降沿或双边沿)、使能和屏蔽,还能通过软件模拟中断请求。​。

2025-04-05 22:20:44 707

原创 从STM32最小系统入门嵌入式的学习记录(STM32的各类资源外设GPIO,常见传感器)

常见的外设

2025-03-31 22:47:37 1064

原创 从STM32最小系统入门嵌入式的学习记录(项目创建)

keil5-stm32项目的创建

2025-03-22 22:12:42 1196

原创 从STM32最小系统入门嵌入式的学习记录(软件安装简述,具体操作在资源里面)

Keil5 MDK 的安装核心在于。

2025-03-22 17:07:11 854

原创 从STM32最小系统入门嵌入式的学习记录

嵌入式系统是。

2025-03-22 16:51:15 731 1

keil5基本搭建需求

keil5基本搭建需求

2025-03-22

空空如也

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

TA关注的人

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