专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
分享OLED三级菜单框架(源码),本程序在ALIENTEK MiniSTM32开发板验证 ,更新到2011102
2019-07-21 01:30
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
14972
49
1662
因为项目中的OLED有多级菜单,所以不得不研究一下,经过一天时间的测试,OLED三级菜单框架做好了。和大家分享一下。我用的是自己的OLED屏,大家可以改成开发板的屏,改一下OLED初始化就可以了,因为只是框架,大家可以加入自己的东西,反正我的项目还在改新中。
因为开发板上的按键有限所以我用了一个跳线PA14(选择/退出),PA15(上翻),PA13(下翻) , 第一级选择语言,第二级进入界面,第三级进入功能。在功能中,我在做了英文的,其实中文的也一样的。呵
更新说明:程序中加了P12(退出
),程序只有两个分支,English , 中文, 现在两个分支都做到了三级菜单,
程序更新说明:之前发现显示有些闪,程序中有BUG,经过一段时间的测试后发现不应该在每一次换屏后才清屏,而应该是按下按键后就清屏,现在程序改过来后屏不闪了。还有就是控制口换成了PC6, PC7, PC8, PC9, 按键换成了
B5,PA8,PA11,PA12
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
Tardis
1楼-- · 2019-07-23 23:52
精彩回答 2 元偷偷看……
加载中...
suqingxiao
2楼-- · 2019-07-24 02:50
程序更新说明:之前发现显示有些闪,程序中有BUG,经过一段时间的测试后发现不应该在每一次换屏后才清屏,而应该是按下按键后就清屏,现在程序改过来后屏不闪了。还有就是控制口换成了PC6, 
C7, 
C8, 
C9, 按键换成了
B5,PA8,PA11,PA12
加载中...
Tardis
3楼-- · 2019-07-24 07:46
回复【27楼】suqingxiao:
---------------------------------
你的源码是我的救星~~~
学习中~~~
用结构体这种方式定义菜单框架,确实好用啊~~
功能部分只要写好,想放哪里就放哪里,为以后DIY一个多功能MP3做铺垫(备注:非公司项目,纯属自己烧钱玩的。)
加载中...
葱花鱼
4楼-- · 2019-07-24 12:10
谢谢楼主了,我在做菜单的时候也遇见相同的问题,我是跳转至一个空循环的界面,看了楼主的解决方法,豁然开朗啊!
代码如下:
Menu_table table[20]=
{
// Index
// | UP
// | | DOWN
// | | | ENTEL
// | | | | BACK
// | | | | | 功能函数
// | | | | | |
{0,0,1,0,0,(*MainMenu)}, // 第一级 主界面
{1,1,2,8,0,(*MainMenu1)}, // 第一级 选择设置日期和时间选项
{2,1,3,14,0,(*MainMenu2)}, //第一级 选择读文件选项
{3,2,3,3,0,(*MainMenu3)}, // 第一级 选择绘制曲线选项
{4,0,1,0,0,(*Kong)}, // 消除主界面部分 清屏时闪烁
{5,1,2,8,0,(*Kong)}, // 消除主界面1 清屏时闪烁
{6,1,3,14,0,(*Kong)}, // 消除主界面2 清屏时闪烁
{7,2,3,3,0,(*Kong)}, // 消除主界面3 清屏时闪烁
{8,8,9,8,1,(*SetDateTime)}, // 第二级 设置日期和时间
{9,9,10,11,8,(*SetDateTime1)}, // 第二级 选择设置日期选项
{10,9,10,12,8,(*SetDateTime2)}, // 第二级 选择设置时间选项
{11,11,11,11,9,(*SetDate)}, // 第三级 设置日期界面
{12,12,12,12,10,(*SetTime)}, // 第三级 设置时间界面
{13,8,9,8,1,(*Kong)}, // 消除设置日期和时间界面 部分清屏时闪烁
{14,14,14,14,2,(*ReadDir)}, // 读取根目录文件夹名称
{15,14,14,14,2,(*Kong)}, // 消除读取根目录文件夹名称界面 部分清屏时闪烁
};
还是LZ高明,使得编程简单很多,多谢啦!
加载中...
Tardis
5楼-- · 2019-07-24 17:07
精彩回答 2 元偷偷看……
加载中...
玻璃之城2046
6楼-- · 2019-07-24 20:57
谢谢分享
加载中...
首页
上一页
2
3
4
5
6
7
8
9
下一页
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
STM32开发板免费用活动
7 个回答
stm32 处理 DHT11占用太多时间,大家程序是怎么设计的
8 个回答
分享一个STM32单片机做的离线编程器代码
9 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
---------------------------------
你的源码是我的救星~~~
学习中~~~
用结构体这种方式定义菜单框架,确实好用啊~~
功能部分只要写好,想放哪里就放哪里,为以后DIY一个多功能MP3做铺垫(备注:非公司项目,纯属自己烧钱玩的。)
代码如下:
Menu_table table[20]=
{
// Index
// | UP
// | | DOWN
// | | | ENTEL
// | | | | BACK
// | | | | | 功能函数
// | | | | | |
{0,0,1,0,0,(*MainMenu)}, // 第一级 主界面
{1,1,2,8,0,(*MainMenu1)}, // 第一级 选择设置日期和时间选项
{2,1,3,14,0,(*MainMenu2)}, //第一级 选择读文件选项
{3,2,3,3,0,(*MainMenu3)}, // 第一级 选择绘制曲线选项
{4,0,1,0,0,(*Kong)}, // 消除主界面部分 清屏时闪烁
{5,1,2,8,0,(*Kong)}, // 消除主界面1 清屏时闪烁
{6,1,3,14,0,(*Kong)}, // 消除主界面2 清屏时闪烁
{7,2,3,3,0,(*Kong)}, // 消除主界面3 清屏时闪烁
{8,8,9,8,1,(*SetDateTime)}, // 第二级 设置日期和时间
{9,9,10,11,8,(*SetDateTime1)}, // 第二级 选择设置日期选项
{10,9,10,12,8,(*SetDateTime2)}, // 第二级 选择设置时间选项
{11,11,11,11,9,(*SetDate)}, // 第三级 设置日期界面
{12,12,12,12,10,(*SetTime)}, // 第三级 设置时间界面
{13,8,9,8,1,(*Kong)}, // 消除设置日期和时间界面 部分清屏时闪烁
{14,14,14,14,2,(*ReadDir)}, // 读取根目录文件夹名称
{15,14,14,14,2,(*Kong)}, // 消除读取根目录文件夹名称界面 部分清屏时闪烁
};
还是LZ高明,使得编程简单很多,多谢啦!
一周热门 更多>