一、分秒必争

第1课 分秒必争-定制中断测试

任务场景:分秒必争-定制中断测试
任务场景:分秒必争-定制中断测试

一、任务目标

按键一按立刻有反应,不必干等主流程轮到——像紧急按钮,优先响应你的操作。

二、我们要学什么

  • 学习要点:按键用中断立刻响应
  • 本课过关:能完成:按下时马上有反应,不必等主流程轮到。
  • 示例对齐:体验题对应 「1-1-1 分秒必争-定制中断测试」;完整代码对应 「1-1-2 分秒必争-简单计时器」。

三、本节要点

本课核心是「按键用中断立刻响应」。普通循环要轮询到按键才处理;本课用中断,一按就像紧急按钮立刻响应。

1看任务一按立刻有反应
2抓关键中断立刻响应
3验现象连按也跟得上

四、解题思路

关键能力「按键用中断立刻响应」。可对照:电梯里的开门键:不必等门自己走完流程,你一按就优先理你。 通道:输入=按键触发的中断,输出=彩屏立刻给出响应提示。成功时应见:按下瞬间屏上是否马上变化,而不是过一会儿才变。

本课主要用到:彩屏 TFT。

  1. 1给按键绑定中断处理函数,按下立刻执行,不必等主循环轮询到。
  2. 2中断里只做短操作(改显示/计数),避免和主循环抢同一资源。
  3. 3主循环可以继续走自己的事。
  4. 4连按几次:每次都应马上有反应。

解题流程(只留关键词)

1. 中断立刻响应2. 中断里只做短操作3. 主循环可以继续走自己4. 运行核对

五、图形块功能讲解

下表是本课新出现的图形块。旧块不重复讲解;认完再点「载入」到工具箱核对。

图形块分类作用本课用法
设置定时器
控制按固定周期触发回调,适合节拍、采样。搭积木时靠它完成:按固定周期触发回调,适合节拍、采样。载入后对照截图找块。
重复执行
控制按条件反复执行内部积木;条件为「真」时相当于 while True 无限循环。对应步骤中的:按条件反复执行内部积木;条件为「真」时相当于 while True 无限循环。打开工具箱核对同名块。
定义函数
函数封装一段可重复调用的积木。对应步骤中的:封装一段可重复调用的积木。打开工具箱核对同名块。
打印输出
文本在控制台打印一行信息,便于调试。本课实际用途:在控制台打印一行信息,便于调试。载入后到分类里确认。
系统运行时间
控制读取开机以来的毫秒数,用于计时、测反应。对应步骤中的:读取开机以来的毫秒数,用于计时、测反应。打开工具箱核对同名块。
打印
输入/输出把内容显示到输出区。本课里用它做:把内容显示到输出区。载入后按名称在工具箱核对。
赋值
变量给变量写入新值。搭积木时靠它完成:给变量写入新值。载入后对照截图找块。
显示图案或文字
显示按设定时间显示图案或字符串。对应步骤中的:按设定时间显示图案或字符串。打开工具箱核对同名块。
取变量
变量读取变量当前值。对应步骤中的:读取变量当前值。打开工具箱核对同名块。
全局变量
变量声明在函数内外都能用的变量。搭积木时靠它完成:声明在函数内外都能用的变量。载入后对照截图找块。
math selfcalcu
其它本课程序中用到的积木,载入后可在工具箱中对照名称查看。搭积木时靠它完成:本课程序中用到的积木,载入后可在工具箱中对照名称查看。载入后对照截图找块。

六、知识点讲解

中断响应:按键触发时立刻执行响应函数,不必等主循环轮到。要想清中断里做什么、会不会和主流程冲突;过关看一按就有反应、连按也跟得上。

先对照屏幕/灯/声:按下瞬间屏上是否马上变化,而不是过一会儿才变。再连按几次,看每次是否都能马上跟上。

七、编程练习

先点「载入」进入 MixVM(board=sowl_design)。默认积木模式;程序来自 MixGo SOWL 六学期兴趣课程/学期2。若题目标了 design 外设,接线会一并导入。在 Mixly 里「运行 / 停止」,需要时点「检查」。动手前请看本页第四节和第五节。

六学期兴趣课程:1-1-1 分秒必争-定制中断测试.mix。载入后运行。

八、课堂练习

前两题是判断,后面是选择;选定答案后点击「检查」。

  1. 判断:按键以后要等主循环慢慢轮到,才会出现反应。

  2. 判断:按本课过关来核对:按下后立刻看屏,确认响应几乎同时出现。

  3. 中断测试强调的是?

  4. 验证时应看?

  5. 本课还没要求做成?

九、本节小结

带走一句:已经能按「按键用中断立刻响应」做出对应现象。