本学期嵌入式期末考试的综合项目,我是这么出题的
时间过得真快,临近期末,又到了老师出卷的时候。作为《嵌入式开发及应用》这门课的主讲教师,今年给学生出的题目有一点点难度,最后的综合项目要求如下所示,各位学生朋友和教师同行可以评论一下难度如何,单片机老鸟就略过吧。
【项目概要】
1. 本项目基于“OneNET V3.2嵌入式开发板(图1所示)”而设计,涉及的硬件有LED、有源蜂鸣器、独立按键、液晶屏、光敏电阻、SHT20温湿度传感器,涵盖了STM32的GPIO、串口、定时器、中断、ADC、I2C通信,是平时基础项目的综合,具体功能见【项目功能描述】部分。
2. 学生需要使用集成开发环境MDK5,完成本项目所有代码的编写和调试工作,并最终在开发板上完成程序下载和功能测试。
【项目功能描述】
1. 上电之后,开发板的效果为:绿灯常亮,液晶屏呈现图2所示的效果,代表程序已就绪,等待运行。此时除了SW1按键有效,其他按键、串口、蜂鸣器、SHT20传感器、光敏电阻均无效。
2. 单击KEY1,程序开始运行,初始效果如下:
① 绿灯闪烁(1s变化一次),且在程序运行期间一直保持该闪烁效果;
② 在串口助手上显示本项目的启动信息,具体效果如下(-------- 请替换成本人的姓名缩写和完整学号):
***************************
* STM32 Final Project *
* Name: ----------- *
* St.No.: ---------- *
***************************
③ 液晶屏呈现图3所示效果,第1行为光敏电阻上的电压值,第2行为SHT20传感器的温湿度值,三个数值均按照每2s采集变化1次。遮住光敏电阻或用手机电筒照射光敏电阻,电压值有相应变化;手指触摸传感器,温湿度值有相应变化。
3. 单击SW2按键,液晶屏上第1行的电压值不再变化,无论遮挡还是照射光敏电阻,电压值都保持在按下那刻的值;再单击一次SW2,电压值恢复正常显示,依然为2s变化一次,上述操作可重复。每单击一次SW2,串口助手上都显示出“LDR HOLD”或“LDR CHANGE”的信息。
4. 双击SW2按键,液晶屏第2行的温湿度数值不再变化,无论外界环境如何,温湿度值都保持在按下那刻的值;再双击一次SW2,温湿度数值恢复正常显示,依然为2s变化一次,上述操作可重复。每双击一次SW2,串口助手上都相应的显示出“T&RH HOLD”或“T&RH CHANGE”的信息。
5. 单击SW3按键,黄灯开始按照0.5s变化一次闪烁;再单击一次SW3,黄灯停止闪烁(保持在按下那刻的状态)。每单击一次SW3,串口助手上都显示出对应的信息:黄灯闪显示“Yellow BLINK”,黄灯亮则显示“Yellow ON”,黄灯灭则显示“Yellow OFF”。
6. 通过串口助手向开发板发命令可实现不同的声光效果,具体控制要求为:
发送“blue_on” --- 点亮蓝灯
发送“blue_off”--- 熄灭蓝灯
发送“blue_blink” --- 闪烁蓝灯
发送“blue_breath” --- 蓝灯呼吸
发送“help” --- 红灯快闪,蜂鸣器按照“3短-3长-3短”持续鸣响
发送“cancel”--- 红灯、蓝灯都熄灭,蜂鸣器停止鸣响
发送其他内容 --- 串口助手回显“Wrong command”
7. 程序运行期间,若长按SW1按键3s以上,程序将返回到“功能1”所述的情况:绿灯常亮,其他灯熄灭;液晶屏恢复上电的效果;串口、蜂鸣器、SHT20传感器、光敏电阻停止工作。
在平时的课堂上,每个独立的功能都手把手带着学生做过,现在整合成一个综合项目,看看有几个学生能有点悟性,做出一点名堂来。本人是不指望学生能全部做出来,主要看学生的工作量和汇报情况。
基础的驱动文件都是平时积累好的,主要是写主程序和几个定时器中断程序,我自己撸完这些代码接近1000行(含较多注释),如图4所示,用了状态机思路来解决,完整的效果如下面的演示视频所示。
嵌入式期末考试的综合项目,我是这么出题的
(本文完)
相关文章:
本学期嵌入式期末考试的综合项目,我是这么出题的
时间过得真快,临近期末,又到了老师出卷的时候。作为《嵌入式开发及应用》这门课的主讲教师,今年给学生出的题目有一点点难度,最后的综合项目要求如下所示,各位学生朋友和教师同行可以评论一下难度如何,单片…...
CSS概述
CSS是一种样式表语言,用于为HTML文档控制外观,定义布局。例如, CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面 。 ● 可将页面的内容与表现形式分离,页面内容存放在HTML文档中,而用 于定义表现形式…...
Tensorflow-GPU工具包了解和详细安装方法
目录 基础知识信息了解 显卡算力 CUDA兼容 Tensorflow gpu安装 CUDA/cuDNN匹配和下载 查看Conda driver的版本 下载CUDA工具包 查看对应cuDNN版本 下载cuDNN加速库 CUDA/cuDNN安装 CUDA安装方法 cuDNN加速库安装 配置CUDA/cuDNN环境变量 配置环境变量 核验是否安…...
【python】OpenCV GUI——Trackbar(14.2)
学习来自 OpenCV基础(12)OpenCV GUI中的鼠标和滑动条 文章目录 GUI 滑条介绍cv2.createTrackbar 介绍牛刀小试 GUI 滑条介绍 GUI滑动条是一种直观且快速的调节控件,主要用于改变一个数值或相对值。以下是关于GUI滑动条的详细介绍:…...
Qt自定义日志输出
Qt自定义日志输出 简略版: #include <QApplication> #include <QDebug> #include <QDateTime> #include <QFileInfo> // 将日志类型转换为字符串 QString typeToString(QtMsgType type) {switch (type) {case QtDebugMsg: return "D…...
[C++] vector list 等容器的迭代器失效问题
标题:[C] 容器的迭代器失效问题 水墨不写bug 正文开始: 什么是迭代器? 迭代器是STL提供的六大组件之一,它允许我们访问容器(如vector、list、set等)中的元素,同时提供一个遍历容器的方法。然而…...
Java——变量作用域和生命周期
一、作用域 1、作用域简介 在Java中,作用域(Scope)指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。 2、作用域 块作用域(Block Scope): 块作用域是指在…...
WPF界面设计
1、使用C#-WPF实现抽屉效果-炫酷漂亮的侧边栏导航菜单-SplitViewMD主题重绘原生控件的美观效果-提供源码Demo下载 码源地址:https://download.csdn.net/download/Prince999999/89424685 2、使用C#-WPF实现抽屉效果-菜单导航功能实现,常规的管理系统应该…...
【C#】使用JavaScriptSerializer序列化对象
在C#开发语言编程中,通常使用系统内置的JavaScriptSerializer类来序列化对象,以便将其转换为JSON格式的文本存储与后台服务通信, 在这里将为大家详细介绍一下这个过程。 文章目录 反序列化序列化忽略属性 假设处理的数据中有一个对象类, 如下 public cl…...
HTML静态网页成品作业(HTML+CSS)—— 明星吴磊介绍网页(5个页面)
🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有5个页面。 二、作品演示 三、代…...
EasyRecovery2024数据恢复神器#电脑必备良品
EasyRecovery数据恢复软件,让你的数据重见天日! 大家好!今天我要给大家种草一个非常实用的软件——EasyRecovery数据恢复软件!你是不是也曾经遇到过不小心删除了重要的文件,或者电脑突然崩溃导致数据丢失的尴尬情况呢&…...
前端HTML相关知识
1.什么是HTML HTML 指的是超文本标记语言 ( HyperText Markup Language )。 超文本:是指页面内可以包含图片、链接、声音,视频等内容 标记:标签(通过标记符号来告诉浏览器网页内容该如何显示) 浏览器根据不同的HTML标签,解析成我们看到的网页 2.HTML的特点 HTML不…...
集合面试题
目录 ①HashMap的理解?以及为什么要把链表转换为红黑树?②HashMap的put?③HashMap的扩容?④加载因子为什么是0.75?⑤modcount的作用?⑥HashMap与HashTable的区别?⑥HashMap中1.7和1.8的区别&am…...
集成学习概述
概述 集成学习(Ensemble learning)就是将多个机器学习模型组合起来,共同工作以达到优化算法的目的。具体来讲,集成学习可以通过多个学习器相结合,来获得比单一学习器更优越的泛化性能。集成学习的一般步骤为:1.生产一组“个体学习…...
记录一次root过程
设备: Redmi k40s 第一步, 解锁BL(会重置手机系统!!!所有数据都会没有!!!) 由于更新了澎湃OS系统, 解锁BL很麻烦, 需要社区5级以上还要答题。 但是,这个手机…...
函数(上)(C语言)
函数(上) 一. 函数的概念二. 函数的使用1. 库函数和自定义函数(1) 库函数(2) 自定义函数的形式 2. 形参和实参3. return语句4. 数组做函数参数 一. 函数的概念 数学中我们其实就见过函数的概念,比如:一次函数ykxb,k和b都是常数&a…...
ARM-V9 RME(Realm Management Extension)系统架构之系统安全能力的侧信道抵御
安全之安全(security)博客目录导读 目录 一、系统PMU计数器 二、使用信号和功耗操作进行的故障攻击 一、系统PMU计数器 性能监测单元 (PMU) 计数器可能成为泄露机密信息的侧信道,如访问模式或受RME安全保障保护的安全状态下的执行控制流。以下规则补充了《Arm CoreSight™…...
Java高级技术探索:深入理解JVM内存分区与GC机制
文章目录 引言JVM内存分区概览垃圾回收机制(GC)GC算法基础常见垃圾回收器ParNew /Serial old 收集器运行示意图 优化实践结语 引言 Java作为一门广泛应用于企业级开发的编程语言,其背后的Java虚拟机(JVM)扮演着至关重…...
新视野大学英语2 词组 6.15
do you feel as confused and manipulated as i do with this question 你是否和我一样,对这个问题感到困惑和被操控 manipulated:被操控 defy common sense and contradict each other 违背常识且相互矛盾 defy:违背 contradict…...
【JavaScript】MDN
一、初识 1.1 基础 1.1.1 语言速成课 1.1.1.1 变量 变量是存储值的容器。首先用let关键字声明一个变量,后面跟着你给变量的名字 变量命名区分大小写 分号在JavaScript中是用来分隔语句的,但是如果语句后面有一个换行符(或者在{block}中只…...
【2026实测】直击算法底层逻辑:论文AI率太高?5款工具与3大手改技巧盘点
最近不少学弟学妹在后台跟我倒苦水,说查重率好不容易低了,结果AI率越改越高。眼看临近DDL,生怕又因为这个耽误答辩。 作为已经摸爬滚打出来的老学长,今天我就根据我总结出来的经验,从检测系统的底层逻辑开始讲起&…...
为什么你需要m4s-converter:让B站缓存视频重获自由的秘密武器
为什么你需要m4s-converter:让B站缓存视频重获自由的秘密武器 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的…...
Simplefolio数据库集成终极指南:5步搭建动态内容管理系统
Simplefolio数据库集成终极指南:5步搭建动态内容管理系统 【免费下载链接】simplefolio ⚡️ A minimal portfolio template for Developers 项目地址: https://gitcode.com/gh_mirrors/si/simplefolio Simplefolio是一款专为开发者设计的极简作品集模板&…...
Slurm集群GPU资源管理实战:如何用`--gres=gpu`参数正确调度你的GTX1080Ti?
Slurm集群GPU资源管理实战:如何用--gresgpu参数正确调度你的GTX1080Ti? 在AI研究与数据科学领域,GPU资源的高效利用直接关系到模型训练与实验的成败。许多团队虽然配备了GTX1080Ti等高性能显卡,却常因Slurm集群调度不当导致资源闲…...
阿里:时序课程解决多轮蒸馏不稳定
📖标题:TCOD: Exploring Temporal Curriculum in On-Policy Distillation for Multi-turn Autonomous Agents 🌐来源:arXiv, 2604.24005v3 🛎️文章简介 🔸研究问题:如何在多轮自主智能体场景中…...
QMCDecode:Mac上最简单的QQ音乐加密音频解密工具
QMCDecode:Mac上最简单的QQ音乐加密音频解密工具 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结…...
2026届最火的十大AI辅助写作平台解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下这个学术环境当中,AI辅助论文的写作已然变成了一种具备高效性的工具。借助…...
上海交通大学用1万条数据打败了工业界巨头的AI搜索神器
这项由上海交通大学研究团队主导完成的研究,以技术报告形式于2026年5月5日发布在预印本平台arXiv,编号为arXiv:2605.04036v1。对这一领域有深入兴趣的读者可以通过该编号检索完整论文。**一个让整个AI圈子都有些意外的故事**先说一个背景:现在…...
BetterRTX终极指南:三步免费提升Minecraft画质的完整方案
BetterRTX终极指南:三步免费提升Minecraft画质的完整方案 【免费下载链接】BetterRTX-Installer The Powershell Installer for BetterRTX! BetterRTX is a Ray-Tracing mod for Minecraft Bedrock. 项目地址: https://gitcode.com/gh_mirrors/be/BetterRTX-Insta…...
Claude 3.5 Sonnet重磅升级(开发者必看的3个隐藏API调用技巧)
更多请点击: https://intelliparadigm.com 第一章:Claude 3.5 Sonnet重磅升级概览 Anthropic 正式发布 Claude 3.5 Sonnet,作为当前推理模型中响应速度与智能水平的全新标杆,其在多模态理解、长上下文处理及代码生成能力上实现显…...
