stm32gui
0.写在前面的
为了完成示波器的页面设置,在网上看到了大量的GUI库,本着小巧精致的原则,决定使用oled0.96寸屏幕做一个示波器的显示界面,包括:主菜单栏,波形界面,FFT界面等等。下面是如何调试u8g2图形库和EC11旋转编码器
1.U8G2 GUI库的移植
U8G2的oled0.96寸屏幕的移植网络上还是比较多的,这里就不过多赘述详情
唯一值得注意的是如何把他封装进bsp库中,由于之前建立过一个F4的bsp库,这次就重新建立一个F1的bsp库。

下面是Inc文件夹

U8g2文件夹中有许多关于u8g2库的.c文件,值得注意的是博客提及的和自己编写的这几个:
1 | display.c stm32_u8g2.c test.c u8g2_d_setup.c u8g2_d_memory.c |
以上前三个文件所对应的头文件均在Inc文件夹中,以方便CUBEIDE的程序调用
其中如果要写menu界面,则是在display.c中书写
2.EC11旋转编码器
路上还是碰到不少坑的(是自己无脑罢)
- extern变量右面不能赋值
- “==”
其相应的驱动文件均写在ec11.c和ec11.h中,经过实际测试可以做到编码器一格一变,唯一有点美中不足的是他需要改stm32f1xx_it.c文件并且还要在main.c中加入中断回调函数,在while(1)中加入扫描函数(消抖)是否会对以后的整体功能造成影响还有待商榷,毕竟很多示波器的工程都是会用到操作系统,不知道简单的逻辑能不能实现。
下面是演示视频:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zsl’s blog!