摘要

本文章基于国信长天CT1117E-M4开发板,讲述了在蓝桥杯嵌入式比赛过程中双屏切换的实现技巧,帮助同学们在比赛中快速实现该功能。

命题趋势分析

统计分析近5年的省赛真题,都出现了通过按键切换屏幕内容的要求,统计数据如下:

第十届 第十一届 第十二届 第十三届(1) 第十三届(2)
双屏切换 双屏切换 双屏切换 双屏切换 三屏切换

通过上述数据可以看出,通过按键切换屏幕几乎是赛题中必然会出现的内容,可能是双屏切换,也可能是三屏切换。

下文给出一个框架,来实现多屏切换的功能。

多屏切换的实现

要实现按键控制屏幕切换,首先需要配置好按键相关的GPIO,并且实现按键驱动函数Key_Scan(),对这部分知识不熟悉的同学可参考:蓝桥杯嵌入式基础篇②按键的使用

然后通过一个变量page_index来记录当前显示的页面序号,通过按键改变页面需要,根据页面序号显示页面内容,参考代码如下(以12届赛题为例):

  int page_index = 1;int key_value = 0;while (1){key_value = Key_Scan();if(key_value == 1){if(page_index == 1) page_index = 2;else if(page_index == 2) page_index = 1;}if(page_index == 1){LCD_DisplayStringLine(Line1, (u8*)"       Data            ");LCD_DisplayStringLine(Line3, (u8*)"  CNBR : 2             ");LCD_DisplayStringLine(Line5, (u8*)"  VNBR : 4             ");LCD_DisplayStringLine(Line7, (u8*)"  IDLE : 2             ");}if(page_index == 2){LCD_DisplayStringLine(Line1, (u8*)"       Para             ");LCD_DisplayStringLine(Line3, (u8*)"  CNBR : 3.50           ");LCD_DisplayStringLine(Line5, (u8*)"  VNBR : 2.00           ");LCD_DisplayStringLine(Line7, (u8*)"                        ");}}

练习

在上述代码的基础上,尝试实现三屏甚至更多屏显示内容的切换。

【蓝桥杯嵌入式】应赛技巧①多屏切换相关推荐

  1. 蓝桥杯嵌入式——第十二届蓝桥杯嵌入式国赛

    蓝桥杯嵌入式--第十二届蓝桥杯嵌入式国赛 之前准备省赛的时候用的是旧版的STM32F103,从准备国赛开始就用新版STM32G431平台了,主要是想经过新版的准备学习一下HAL库以及CubeMX的使用 ...

  2. 蓝桥杯嵌入式国赛模块训练之数码管

    文章目录 前言 一.电路原理图 1.共阴极数码管 2.SN74LS595N 3. 扩展板跳线帽连接 二.驱动代码 1.seg.h 2.seg.c 总结 前言 数码管是蓝桥杯嵌入式国赛需准备的第一个模块 ...

  3. 蓝桥杯嵌入式——第十一届蓝桥杯嵌入式国赛

    蓝桥杯嵌入式--第十一届蓝桥杯嵌入式国赛 之前准备省赛的时候用的是旧版的STM32F103,从准备国赛开始就用新版STM32G431平台了,主要是想经过新版的准备学习一下HAL库以及CubeMX的使用 ...

  4. 第十三届蓝桥杯嵌入式备赛-STM32G431-基础模块调试①LED/LCD调试

    目录 0.前言 时钟设置 项目设置 1.功能要求 电路原理图 2.STM32Cubemx初始化 3.程序实现 LCD LED 编写LED灯亮灭的相关函数 LED关闭函数 LEDx开启函数 LEDx关闭 ...

  5. 【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式国赛程序设计试题以及详细题解

    文章目录 原题展示 原题分析 详细题解 LED模块 按键模块 串口 LCD模块 模拟电压读取(ADC) 脉冲输入输出 文章福利 原题展示 原题分析   本届国赛试题主要包含LCD.LED.按键.EEP ...

  6. 第十三届蓝桥杯嵌入式备赛-STM32G431-进阶模块调试⑦RTC时钟

    目录 0.前言 1.功能要求 2.STM32Cubemx初始化 3.程序实现 main.c相关初始化 RTC函数 RTC_CalendarGet()日期时间获取函数 设置日期RTC_SetDate和时 ...

  7. 【蓝桥杯嵌入式】第十二届蓝桥杯嵌入式省赛客观题及详细题解

    题1 解析: 波特率,指每秒钟传输码元符号的个数,对符号传输速率的一种度量,单位为1baud/s. 由于串口只有高低电平之分,即1码元等于1bit,即波特单位1baud和1bit等效,因此,此时的波特 ...

  8. 第十三届蓝桥杯嵌入式省赛真题演练——密码锁

    题目分析 接下来站在博主的视角来完成这次模拟题.首先,通读题目后我大致能大致能获取到如下信息:要完成一个密码锁的项目,用户通过串口通讯来设置三位密码,使用按键来输入密码.那我的思路先根据硬件框图搭出程 ...

  9. 蓝桥杯嵌入式省赛第七届:模拟液位检测告警系统”

    /*赛题:第七届:模拟液位检测告警系统" **作者:*wj **时间:2021-2-13 **注意:设备通过串口发送给PC,思路和LCD动态显示一样(记得添加"stdio.h&qu ...

最新文章

  1. 链表问题11——两个单链表相交的系列问题(三):判断两个有环链表是否相交
  2. 独家 | 用归纳偏置来增强你的模型性能
  3. TCP流嗅探和连接跟踪工具tcpick
  4. 言有三新书预售,不贵,有料
  5. memcpy实例(一)
  6. 解决开机自检D盘问题
  7. rabbitmq 连接报错 An unexpected connection driver error occured(亲测)
  8. linux查看pid 对应的程序_资深程序员总结:分析 Linux 进程的 6 个方法,我全都告诉你...
  9. combox 增加请选择_好消息!阜阳机动车互联网选号增加新号段!
  10. html 显示shp,cesium加载本地shp数据
  11. 高频小信号谐振放大器设计-课程设计Multisim仿真
  12. 惠普打印机如何设置扫描到计算机,惠普打印机怎样扫描文件到电脑
  13. java public interface_Java 接口interface的基础
  14. 搭建MYS-SAM9X5开发环境
  15. freertos使用基础
  16. gtx1050ti和gtx1050的区别
  17. 两个人同屏玩的象棋_有什么好玩的棋两个人也可以玩,四个人也可以玩,比较益智的...
  18. dijkstra算法详解加例题分析 NOIP 2012 文化之旅
  19. Linux电脑安全管家
  20. android php实战,android编程开发入门实战例子–hello word

热门文章

  1. Bootstrap系列之轮播图(Carousel)
  2. 去掉桌面快捷方式图标汉字的底纹颜色
  3. 讯为开发板移植linux,迅为I.MX6ULL开发板移植Linux5.4内核教程
  4. 20150_0907_三角形各种心的计算公式_垂心_外心_重心_内心
  5. Matlab 遗传算法解决智能排课算法 一天四节课,上午两节,下午两节,同一门课不能相邻,特殊课程不能相邻(语文和英语,数学和科学),求可行方案?
  6. JQuery 再谈ajax局部刷新
  7. 使用Reflection把iOS屏幕镜像输出至Mac录视频
  8. 前端绘制地图的色块不依赖地图
  9. Salesforce 系列和Apex 系列的一个汇总篇!
  10. html5制作风扇步骤,摇头风扇制作全过程