STM32中断与多任务调度实验报告-陈姝仪

需积分: 0 0 下载量 137 浏览量 更新于2024-08-04 收藏 599KB DOCX 举报
"嵌入式系统实验报告-中断与多任务调度-陈姝仪-20182115071" 这篇实验报告详细介绍了陈姝仪同学进行的一次关于中断与多任务调度的嵌入式系统实验。实验的目标是通过FSM4实验板了解嵌入式系统的软硬件环境,熟悉MDK开发环境,学习STM32定时器及中断处理,并掌握基本的多任务处理。实验环境包括FS-STM32F407开发平台、ST-Link仿真器、RealView MDK5.23 IDE以及相关的串口调试工具。 实验要求学生在之前实验的基础上扩展中断功能,实现多任务调度。具体任务包括: 1. 将上下文切换扩展为多任务调度,利用定时器中断实现时间片轮转调度,模拟嵌入式操作系统的内核功能。 2. 将实验2的按键读取由轮询方式转变为中断方式。 3. 实验3的串口字符收发也由轮询方式改为中断方式。 4. 将实验2和实验3的功能整合到多任务环境中,实现并发运行。 实验原理涉及中断处理和多任务调度的基础知识。中断是嵌入式系统中处理器响应外部或内部事件的重要机制,而多任务调度则是通过分配时间片来实现多个任务的并发执行。实验步骤包括理解给定代码的执行流程,以及进行相应的软件设计和实现。 在软件结构方面,报告提到的"Lab4_a"可能是一个包含了实验代码的项目模块。实验结果表明,基础部分实现了LED灯以1秒间隔闪烁的功能。在实验过程中,陈姝仪同学最初对`task_add`函数的参数`period`的理解有误,后来纠正了这个误解,实现了正确的任务调度逻辑。 实验总结部分,陈姝仪同学反思了自己对任务调度策略的深入理解,强调了正确理解和使用`period`参数的重要性,即设置任务执行的周期,以达到预期的多任务执行效果。 这篇实验报告详细展示了嵌入式系统中断处理和多任务调度的学习过程,涵盖了STM32微控制器的定时器中断、任务调度、以及从轮询到中断驱动的转换等关键知识点。