logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【RTOS快速入门】06_任务调度算法(4)

本文通过实验分析FreeRTOS调度算法的三个核心配置参数:抢占(configUSE_PREEMPTION)、时间片轮转(configUSE_TIME_SLICING)和空闲任务让步(configIDLE_SHOULD_YIELD)。实验表明:1)抢占使能时高优先级任务可打断低优先级任务;2)时间片轮转使能时同优先级任务会轮流执行;3)空闲任务让步使能时空闲任务会让出CPU给用户任务。通过逻辑分析

#单片机#嵌入式硬件#stm32 +1
【RTOS快速入门】06_空闲任务及其钩子函数(3)

本文探讨了FreeRTOS中空闲任务和钩子函数的工作原理及应用。通过示例代码演示了任务创建、删除的流程,说明空闲任务在清理被删除任务内存中的关键作用。文章详细分析了空闲任务的创建过程、功能扩展(如低优先级后台处理、系统空闲时间测量等)以及修改方法。同时介绍了钩子函数的使用限制和实际应用场景,包括在调试过程中遇到的问题及解决方案。最后强调合理使用空闲任务和钩子函数对实现高效嵌入式系统开发的重要性,它

#单片机#stm32#嵌入式硬件 +1
【RTOS快速入门】06_任务状态理论讲解(1)

本文讲解了FreeRTOS任务切换的基础机制和任务状态管理。首先通过tick定时器实现1ms时间片轮转调度,确保任务公平执行。重点分析了任务状态图,包括就绪、运行、阻塞和暂停四种状态及其转换条件。特别区分了暂停状态(主动休息)和阻塞状态(被动等待)的差异。最后介绍了FreeRTOS使用链表高效管理各状态任务的实现方式,包括就绪链表、阻塞链表等数据结构,以及在tick中断时通过链表查找切换任务的过程

#单片机#嵌入式硬件#stm32 +1
【RTOS快速入门】05_动态_静态创建任务(2)

本文通过四个实验探究FreeRTOS任务调度机制:1)优先级实验验证高优先级任务优先执行,同优先级任务交替执行;2)任务删除实验展示动态删除任务1和自身的效果;3)多实例任务实验证明同一函数创建不同任务时拥有独立栈空间;4)栈大小实验通过定义大数组耗尽栈空间导致程序崩溃。这些实验直观呈现了FreeRTOS的任务调度优先级规则、生命周期管理和内存分配机制,为理解RTOS内核提供了实践基础。

#单片机#stm32#嵌入式硬件 +1
【RTOS快速入门】07_同步互斥与通信概述

本文探讨了FreeRTOS中同步与互斥的核心概念及应用。首先介绍了临界资源的概念及访问保护机制,通过伪代码展示了临界区的基本实现逻辑。然后通过两个有缺陷的代码示例分别说明:1)任务间同步时轮询方式会浪费CPU资源,建议采用阻塞机制;2)互斥访问时单纯标志位仍存在竞争隐患。最后对比分析了队列、事件组、信号量、任务通知和互斥量等内核同步方法的特性,包括数据结构、操作方式和适用场景,并配以图形化总结。文

#单片机#嵌入式硬件#操作系统 +1
【TIM】基本定时器定时实验(2)

本文介绍了使用STM32基本定时器实现RGB彩灯定时闪烁的方法。通过配置TIM6定时器,设置预分频值和计数周期,使其每0.5秒产生一次中断。在中断服务函数中翻转RGB彩灯状态,实现亮灭交替效果。硬件方面无需额外GPIO配置,软件部分重点包括定时器初始化、NVIC中断优先级设置以及中断处理函数的实现。关键参数为8400预分频和5000计数周期,配合84MHz系统时钟,可精确控制0.5秒定时。该方案展

#单片机#嵌入式硬件#c语言 +4
【TIM】基本定时器定时实验(1)

摘要:本文介绍了STM32F42xxx系列控制器的定时器功能与应用。该系列包含2个高级控制定时器、10个通用定时器和2个基本定时器,主要用于定时任务、PWM生成、信号测量等。重点讲解了基本定时器TIM6/TIM7的结构与工作原理,包括时钟源选择、计数器配置和周期计算方法。通过设置预分频器(TIMx_PSC)和自动重装载寄存器(TIMx_ARR)可实现精确定时,并详细解析了定时器初始化结构体各参数的

#单片机#嵌入式硬件#stm32 +3
【ADC】电压采集实验(3){STM32 ADC 扫描模式 + DMA 循环传输:多通道采集实现}

本文介绍了STM32独立模式多通道ADC采集实验的实现方法。硬件设计上通过排针引出多个ADC通道引脚,需注意引脚独占使用。软件设计采用DMA+ADC多通道连续采样模式,主要步骤包括:初始化ADC引脚为模拟输入、使能时钟、配置DMA传输、设置ADC工作模式等。代码分析展示了三个ADC通道的宏定义配置、GPIO初始化函数以及核心的ADC工作模式配置函数,实现了多通道数据通过DMA自动传输到内存的功能。

#单片机#stm32#嵌入式硬件 +4
【ADC】电压采集实验(2){STM32F4 ADC 独立模式 + 中断服务函数:电位器电压采集}

本文介绍了基于STM32的独立模式单通道ADC采集实验。通过配置开发板上的电位器作为模拟输入源,利用ADC1的通道8(PB0引脚)进行电压采集。实验采用12位分辨率、连续转换模式,通过软件触发启动转换,并在中断服务函数中读取转换结果。硬件设计使用滑动变阻器提供0-3.3V可变电压输入,软件设计包含GPIO初始化、ADC模式配置、中断优先级设置等关键步骤。主程序通过串口实时输出采集的电压值,采样周期

#单片机#嵌入式硬件#stm32 +4
【电容触摸屏】触摸画板实验(3)

本文介绍了基于STM32F407和GT5688触摸控制器的电容触摸屏驱动实现。硬件部分详细说明了触摸面板、液晶面板与主板的连接方式,重点分析了STM32与GT5688芯片通过软件模拟I2C的通信接口设计。软件部分从官方Linux驱动移植了GT5688驱动程序,实现了I2C时序控制、GPIO初始化、中断处理等核心功能。文章最后展示了如何利用这些驱动开发一个简易触摸画板应用,通过获取触摸坐标实现屏幕绘

#开发语言#单片机#嵌入式硬件 +4
    共 25 条
  • 1
  • 2
  • 3
  • 请选择