【蓝桥杯嵌入式】应赛技巧①多屏切换
摘要
本文章基于国信长天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*)" ");}}
练习
在上述代码的基础上,尝试实现三屏甚至更多屏显示内容的切换。
【蓝桥杯嵌入式】应赛技巧①多屏切换相关推荐
- 蓝桥杯嵌入式——第十二届蓝桥杯嵌入式国赛
蓝桥杯嵌入式--第十二届蓝桥杯嵌入式国赛 之前准备省赛的时候用的是旧版的STM32F103,从准备国赛开始就用新版STM32G431平台了,主要是想经过新版的准备学习一下HAL库以及CubeMX的使用 ...
- 蓝桥杯嵌入式国赛模块训练之数码管
文章目录 前言 一.电路原理图 1.共阴极数码管 2.SN74LS595N 3. 扩展板跳线帽连接 二.驱动代码 1.seg.h 2.seg.c 总结 前言 数码管是蓝桥杯嵌入式国赛需准备的第一个模块 ...
- 蓝桥杯嵌入式——第十一届蓝桥杯嵌入式国赛
蓝桥杯嵌入式--第十一届蓝桥杯嵌入式国赛 之前准备省赛的时候用的是旧版的STM32F103,从准备国赛开始就用新版STM32G431平台了,主要是想经过新版的准备学习一下HAL库以及CubeMX的使用 ...
- 第十三届蓝桥杯嵌入式备赛-STM32G431-基础模块调试①LED/LCD调试
目录 0.前言 时钟设置 项目设置 1.功能要求 电路原理图 2.STM32Cubemx初始化 3.程序实现 LCD LED 编写LED灯亮灭的相关函数 LED关闭函数 LEDx开启函数 LEDx关闭 ...
- 【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式国赛程序设计试题以及详细题解
文章目录 原题展示 原题分析 详细题解 LED模块 按键模块 串口 LCD模块 模拟电压读取(ADC) 脉冲输入输出 文章福利 原题展示 原题分析 本届国赛试题主要包含LCD.LED.按键.EEP ...
- 第十三届蓝桥杯嵌入式备赛-STM32G431-进阶模块调试⑦RTC时钟
目录 0.前言 1.功能要求 2.STM32Cubemx初始化 3.程序实现 main.c相关初始化 RTC函数 RTC_CalendarGet()日期时间获取函数 设置日期RTC_SetDate和时 ...
- 【蓝桥杯嵌入式】第十二届蓝桥杯嵌入式省赛客观题及详细题解
题1 解析: 波特率,指每秒钟传输码元符号的个数,对符号传输速率的一种度量,单位为1baud/s. 由于串口只有高低电平之分,即1码元等于1bit,即波特单位1baud和1bit等效,因此,此时的波特 ...
- 第十三届蓝桥杯嵌入式省赛真题演练——密码锁
题目分析 接下来站在博主的视角来完成这次模拟题.首先,通读题目后我大致能大致能获取到如下信息:要完成一个密码锁的项目,用户通过串口通讯来设置三位密码,使用按键来输入密码.那我的思路先根据硬件框图搭出程 ...
- 蓝桥杯嵌入式省赛第七届:模拟液位检测告警系统”
/*赛题:第七届:模拟液位检测告警系统" **作者:*wj **时间:2021-2-13 **注意:设备通过串口发送给PC,思路和LCD动态显示一样(记得添加"stdio.h&qu ...
最新文章
- 链表问题11——两个单链表相交的系列问题(三):判断两个有环链表是否相交
- 独家 | 用归纳偏置来增强你的模型性能
- TCP流嗅探和连接跟踪工具tcpick
- 言有三新书预售,不贵,有料
- memcpy实例(一)
- 解决开机自检D盘问题
- rabbitmq 连接报错 An unexpected connection driver error occured(亲测)
- linux查看pid 对应的程序_资深程序员总结:分析 Linux 进程的 6 个方法,我全都告诉你...
- combox 增加请选择_好消息!阜阳机动车互联网选号增加新号段!
- html 显示shp,cesium加载本地shp数据
- 高频小信号谐振放大器设计-课程设计Multisim仿真
- 惠普打印机如何设置扫描到计算机,惠普打印机怎样扫描文件到电脑
- java public interface_Java 接口interface的基础
- 搭建MYS-SAM9X5开发环境
- freertos使用基础
- gtx1050ti和gtx1050的区别
- 两个人同屏玩的象棋_有什么好玩的棋两个人也可以玩,四个人也可以玩,比较益智的...
- dijkstra算法详解加例题分析 NOIP 2012 文化之旅
- Linux电脑安全管家
- android php实战,android编程开发入门实战例子–hello word
热门文章
- Bootstrap系列之轮播图(Carousel)
- 去掉桌面快捷方式图标汉字的底纹颜色
- 讯为开发板移植linux,迅为I.MX6ULL开发板移植Linux5.4内核教程
- 20150_0907_三角形各种心的计算公式_垂心_外心_重心_内心
- Matlab 遗传算法解决智能排课算法 一天四节课,上午两节,下午两节,同一门课不能相邻,特殊课程不能相邻(语文和英语,数学和科学),求可行方案?
- JQuery 再谈ajax局部刷新
- 使用Reflection把iOS屏幕镜像输出至Mac录视频
- 前端绘制地图的色块不依赖地图
- Salesforce 系列和Apex 系列的一个汇总篇!
- html5制作风扇步骤,摇头风扇制作全过程