MiaoUI/README.md

34 lines
2.0 KiB
Markdown
Raw Normal View History

2023-11-29 10:04:40 +00:00
# MultMenu
2024-04-06 18:31:40 +00:00
这是一个用于单色OLED屏幕的单片机多级菜单采用双向链表结构移植方便、在容量足够的情况下可无限扩展。
2024-04-11 15:58:00 +00:00
- 菜单支持类型有:
2024-06-21 14:24:29 +00:00
1. PARENTS内含子菜单项
2024-06-24 05:29:40 +00:00
2. LOOP_FUNCTION循环运行某项自定义功能
3. ONCE_FUNCTION 单次运行某项自定义功能
2024-07-14 06:10:01 +00:00
4. DATA可调参数型包括开关数据、整型数据、浮点数据在菜单中可显示数据变化
5. _TEXT_:文本型,用于显示某些文本内容
6. WAVE: 波形型,可在屏幕中显示某个变量的数值变化波形
2024-06-24 05:28:27 +00:00
7. RETURN: 用于上级返回
2024-06-21 05:52:28 +00:00
- 全局使用非线性动画类PID控制器
2024-06-22 04:01:26 +00:00
在菜单数据结构上参考开源项目https://github.com/morepray/MorepUI 感谢!
2024-04-06 18:31:40 +00:00
# 移植准备
2024-06-21 14:28:30 +00:00
1. 在menuConfig.h中配置你的屏幕分辨率与菜单字体。
2. 往dispDirver.c中替换你的屏幕驱动亦可使用example中的移植的u8g2库。
2024-06-21 14:30:39 +00:00
3. 在Menu_State BtnScan(void)函数中放入你的按键扫描程序。
2024-06-22 04:02:01 +00:00
4. 在image.c中写入你需要显示的项目logo否则图形界面的logo为预设logo。推荐开源图标库[https://github.com/hugeicons/hugeicons-react](https://github.com/hugeicons/hugeicons-react),图片取模工具:[https://javl.github.io/image2cpp/](https://github.com/javl/image2cpp)。
2024-08-07 10:37:29 +00:00
5. 在menuConfig.c中建立需要的数据类、文本类、波形类以及菜单的页面(page)和项(item)。
6. 建立一个xMenu类型的全局结构体
7. 将Menu_Init和Menu_Loop放入你的程序中若使用RTOS建议给予10ms运行周期
2024-04-06 18:31:40 +00:00
# Example
2024-10-07 04:57:53 +00:00
基于STM32F103C8T6使用硬件I2C2驱动0.96寸OLED(SSD1306)I2C的SCL引脚为PB10SDA引脚为PB11按键为串口虚拟按键。
2024-04-06 18:31:40 +00:00
其中:
2024-04-21 08:09:27 +00:00
- 0x01为上移按键
- 0x02为下移按键
- 0x03为确认按键
2024-07-14 15:44:59 +00:00
- Arduino也类似。
2024-04-06 18:31:40 +00:00
# 效果如下
2024-03-31 15:39:32 +00:00
![image](https://github.com/JFeng-Z/MultMenu/blob/master/Image/img1.png)
![image](https://github.com/JFeng-Z/MultMenu/blob/master/Image/img2.png)
2024-06-21 14:30:39 +00:00
- 视频演示地址https://b23.tv/TOwmuKL
2024-06-28 10:41:01 +00:00
# 最后
2024-07-14 06:10:01 +00:00
项目还在优化中如果有遇到问题欢迎issue