首页 > 其他分享 >stm32在oled上实现多级菜单(基于链表)

stm32在oled上实现多级菜单(基于链表)

时间:2023-09-01 18:02:20浏览次数:44  
标签:stm32 菜单 多级 链表 oled 按键

为了提高OLED显示多级菜单的易用性,手搓了基于链表的多级菜单的代码。

主要有如下特点:

1:需要配置地方少,后续新加菜单只需在初始化的时候添加,以及自己实现按键事件的回调函数即可。

2:事件驱动,按键事件通过队列接收。

因此,整个过程中,重写按键程序,消息队列,以及多级菜单框架。

复习下双向链表:https://www.cnblogs.com/njit-sam/p/17662774.html

复习下按键程序:待补充

下面是基本的思路:

 

标签:stm32,菜单,多级,链表,oled,按键
From: https://www.cnblogs.com/njit-sam/p/17664455.html

相关文章

  • 链表详解
    C++中的链表是一种数据结构,用于存储一系列元素,每个元素都包含一个值以及一个指向下一个元素的指针。链表可以分为单向链表和双向链表,其中单向链表每个节点只有一个指向下一个节点的指针,而双向链表每个节点有一个指向下一个节点和一个指向前一个节点的指针。以下是关于C++链表的详......
  • stm32f411CEU6做HID键盘,使用stm32cubemx随手记录
    最近找到一个stm32f411开发板,买了很久之前测试完就没使用了现在来做个HID键盘用用下面这个是当时购买淘宝店铺下面的gitee链接有兴趣的可以看看WeActStudio.MiniSTM32F4x1:WeActStudioSTM32F401CEU6/STM32F411CEU6核心板资料Github镜像仓库(gitee.com)关于stm32f411ceu6......
  • 【剑指Offer】15、反转链表
    【剑指Offer】15、反转链表题目描述:输入一个链表,反转链表后,输出新链表的表头。解题思路:本题比较简单,有两种方法可以实现:(1)三指针。使用三个指针,分别指向当前遍历到的结点、它的前一个结点以及后一个结点。将指针反转后,三个结点依次前移即可。(2)递归方法。同样可以采用递归来实现......
  • STM32学习笔记:分散加载
    分散加载是提高单片机上限的一个非常重要的能力。以STM32H7为例,H7的RAM为:512KbytesofAXI-SRAMmappedontoAXIbusonD1domain,SRAM1mappedonD2domain:128Kbytes,SRAM2mappedonD2domain:128Kbytes,SRAM3mappedonD2domain:32Kbytes,SRAM4mappedonD3dom......
  • 剑指Offer 35. 复杂链表的复制
    题目链接:剑指Offer35.复杂链表的复制题目描述:请实现copyRandomList函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者null。解法思路:遍历整个链表,在每个节点的后面,插入一个当前节点的复制,......
  • HashMap链表树化究竟是怎样的?
    网上一直看到两种说法:1.数组长度大于64且当链表长度>8时,链表转换为红黑树;2.数组长度大于64且当链表长度≥8时,链表转换为红黑树。 上源码,主要是putVal()函数/***ImplementsMap.putandrelatedmethods.**@paramhashhashforkey*@paramkeythekey*@par......
  • 手撕代码之链表
    文章目录一、反转链表(leetcode206)二、两个链表的交点(leetcode160)三、链表的中间结点(leetcode876)四、判断链表是否存在环(leetcode141)五、输出链表环的入口结点(leetcode142)六、删除链表中倒数第k个节点(leetcode19)七、合并两个排序链表(leetcode21)八、O(1)时间删除链表中的一个......
  • 快排及链表排序
    文章目录一、普通的快排二、链表的创建三、链表的冒泡排序四、链表快排五、链表归并排序一、普通的快排voidQuickSort(vector<int>&vec,intlow,inthigh){ intpivot=vec[low];//选择第一个元素作为枢纽元 //mid总是指向最后一个比枢纽元小的位置,当需要交换元素时,先......
  • 【STM32】7_0 ADC
    概述12位ADC是逐次趋近型模数转换器。它具有多达19个复用通道,可测量来自16个外部源、两个内部源和VBAT通道的信号。这些通道的A/D转换可在单次、连续、扫描或不连续采样模式下进行。ADC的结果存储在一个左对齐或右对齐的16位数据寄存器中。ADC具有模拟看门狗特......
  • 876 , 链表的中间节点
    https://leetcode.cn/problems/middle-of-the-linked-list/ 使用快慢指针1lassSolution{2publicListNodemiddleNode(ListNodehead){3//排除为空情况4if(head==null){5returnnull;6}7//使用......