“1+X”证书平台下的嵌入式系统课程教学方法研究

2022-06-15 03:15陈琛
电脑与电信 2022年4期
关键词:串口中断嵌入式

陈琛

(安徽职业技术学院,安徽 合肥 230012)

1 引言

嵌入式系统课程是物联网技术专业的一门专业核心课。随着PC时代及智能时代的到来,以高速度、高可靠、低功耗为特征的嵌入式系统的应用日益广泛和深入[1],嵌入式系统设计课程在物联网应用技术课程体系中的地位愈发重要,嵌入式系统课程的教学工作极为迫切。如何通过教学有效提高学生的嵌入式工程实践能力,适应嵌入式行业要求,是嵌入式课程教学中面临的主要问题[2]。作为高职院校,“1+X”证书模式已逐渐成熟,学校已建立多样的考证平台。在这种环境下,利用学校已有的实验平台,基于“1+X”证书平台嵌入式系统课程教学方法,具有其独有特色。一是以课证融通为出发点,对接行业发展,落实“1+X”证书制度,围绕课证融通需要,建立模块化课程体系。二是以职业需求和能力为导向,对接岗位需求和工作过程,对传统教学方法和教学体系进行创新,利用平台“在学中做,在做中学”的优势,开展理论和实践教学[3]。这不仅合理利用学校考证平台资源,提供教学质量,同时利于学生获取相关职业技能等级证书,实现“1+X”证书制度需求。

2 教学平台介绍

“1+X”传感网应用开发平台是由北京新大陆时代教育科技有限公司提供,该平台硬件方面提供了stm32的外设齐全的开发板主控模块M3,如图1所示,便于学生方便完成芯片性能测试、程序功能验证以及想法创意的快速应用。软件开发发面,为了减少开发者工作量,提高程序开发效率,应用ST公司软件开发工具stm32CubeMXTM和MDK-ARM集成开发环境组合开发。stm32CubeMXTM由PC端的图形化配置与代码生成工具stm32CubeMX、嵌入式软件库函数(HAL库与LL库)以及一系列的中间件集合(RTOS、USB库、文件系统、TCP/IP协议栈和图形库等)构成,可视化地进行芯片资源和引脚配置,然后生成项目源程序,导入MDK-ARM中进行编译、调试和下载。

图1 M3主控模块

3 课程设计

基于“1+X”传感网应用开发平台的教学方法是一种项目式教学,以典型项目为主题,驱动课程教学。每次课程通过项目引入,通过不同的项目了解嵌入式系统的不同部分,主要有输入输出口、时钟系统、定时器计数器系统、中断系统、串行通信系统、模数转换系统等。由浅到深,各项目之间前后关联,课程最后一个项目结束时,整个嵌入式系统结构及开发过程便会了然于胸。本文中我们以“串行通信控制LED流水灯应用开发”教学项目为例,介绍基于“1+X”传感网应用开发平台的教学方法。该项目要求设计一个LED流水灯系统,该系统与上位机之间通过串行通信接口相连。上位机可发送命令对LED流水灯系统进行控制。

通过对项目分析,该项目主要涉及的知识点有:

(1)通用输入输出口,前期项目已学习流水灯的实现办法,本项目中直接运用即可。

(2)中断系统,前期项目已学习。但本期项目涉及新的中断源——串口中断,需要进一步学习。

(3)串口知识,本期项目新增知识点,需要着重讲解。

通过以上项目分析,我们对本项目的知识系统进行了剖析,在课程教学中逐个击破即可,可以是回顾的方式,可以是新知识点讲解的方式。并且项目的实施过程,会反复联系前面的知识点,引导学生将嵌入式系统作为整体来考量。

4 课程实施

课程实施过程是教学的关键,传道授业解惑一样不能少,还要加上实操演示和学生操作反馈。

4.1 理论知识讲解

理论知识是支撑每次课程的核心,理论清楚了,才能更好地实现项目。课程实施过程中,理论知识的讲解为重中之重。

本项目理论部分经过分析整理,首先讲述串口的来源、串口的用途及其重要性;串口相关的概念,如数据帧、波特率等。一般这些知识会在一些先导的课程中已有所学习。

其次是串口的运用、串口的框架、串口的发送(打印)和接收部分。串口的发送过程在程序设计的调试阶段可发挥重要作用。如:将开发板与PC机通过串行通信接口相连后,可将调试信息“打印”到串口调试助手等工具中,开发者可借助这些信息了解程序运行情况。串口命令的接收,接收过程是一个被动的过程,必须用到中断系统,进而需讲解串口中断类型及用法。

最后拓展串口的操作函数,串口使用要用到的函数库。为了让串口内容便利地打印到窗口助手中,还需要学习函数重定向概念,用户能定义自己的C语言库函数,连接器在连接时自动使用这些新的功能函数,使用重定向方便应用标准库函数中的printf函数进行打印。同时讲授学习串口发送和接收的相关操作函数。

4.2 硬件电路分析

流水灯部分,运用开发板中的LED0-LED7实现流水效果,如图2所示。

图2 流水灯硬件电路

上位机采用PC机,利用串口助手来模拟。其中的串口号、波特率、检验位、数据位按系统情况及相关设置进行配置,如图3所示。

图3 串口助手窗口

4.3 实验操作演示

根据项目要求及系统设计方案,这里给出项目参考流程图,如图4所示。主函数中判断上位机是否有命令发送是关键部分,会用到串口中断。串口接收到上位机的命令会产生中断请求,完成串口中断处理函数,实现命令的识别。流程图中stm32初始化步骤采用STM32CubeMX以图形界面的方式进行,主要配置引脚功能、时钟系统、中断系统,具体配置如图5所示。配置完成后直接生成MDK-ARM的工程文件,随后在工程文件中进行个性化程序编写,完成项目中命令识别和流水灯显示效果程序的编写。最后进行编译、调试和下载,观察实验现象。

图4 项目参考流程图

图5 STM32CubeMX初始化配置

4.4 学生操作

本项目主要引入串口的知识,为了让学生更好地理解串口,学生操作部分分为两个实验:一是串口的发送打印;二是串口的命令接收。对此可以设计简单的两个实验项目。实操一:通过串口将学号打印到串口助手,这个过程中,学生采用STM32CubeMX实现串口初始化设置,生成MDK-ARM工程文件,主函数中调用串口打印操作函数实现串口打印。实操二:通过串口准确接收上位机(串口助手)发送的命令并进行反馈,这个过程中,学生采用STM32CubeMX实现串口初始化设置,设置串口中断,生成MDK-ARM工程文件,编写串口接收中断处理函数,实现串口命令的接收和反馈。通过这两个实验巩固串口的发送和接收的实现。在这两个实操完成的基础上,最后综合完成上位机发送命令对LED流水灯系统进行控制的项目,完成课堂完整教学。

5 教学实施及考核

课程教学为一个学期,共18周,每周四课时。每周课时为项目式教学,由于教学项目均为综合性应用项目,每次项目的完成都是一个综合性的应用实现,为了提高学生的积极性,让学生在探讨和操作过程中更好地掌握理论知识和实操能力。课程教学两人为一组,在理论教学过程中共同理解理论知识,在理论讲解后的学生操作过程中,一组人员协作完成实验项目[4]。实验项目完成后,提交完整的项目包,包含STM32CubeMX自身项目和生成的MDK-ARM工程文件,老师对项目实现的完整性和准确性进行打分(百分制)。课后会在智能化教学平台发布拓展项目练习,供学生课后思考及课余时间实现,实现后提交打分(百分制)。综合考核成绩=平时上课完成分×60%+课后实验完成分×40%,这一项分数作为最后期末考核分的重要来源。

6 结语

本课程依托“1+X”传感网应用开发平台,通过理论讲解与平台实操结合,将理论和实践结合在一起,更能激起学生学习的欲望。学生通过实验平台上手操作,实时查看实验现象,及时解决实验中发现的问题,有效提高学生的嵌入式工程实践能力。

猜你喜欢
串口中断嵌入式
基于IMX6ULL的嵌入式根文件系统构建
TMS320F28335外部中断分析与研究
一种航天器星上时间获取方法
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
多级中断屏蔽技术分析
基于EM9000工控板高性能双串口通信模型设计与实现
跟踪导练(二)(5)
MCS—51单片机中的多串口通讯技术的应用
微机串口的测试诊断
高校图书馆开展嵌入式信息素质教育的思考