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旋转编码器

参考

路上还是碰到不少坑的(是自己无脑罢

  1. extern变量右面不能赋值
  2. “==”

其相应的驱动文件均写在ec11.c和ec11.h中,经过实际测试可以做到编码器一格一变,唯一有点美中不足的是他需要改stm32f1xx_it.c文件并且还要在main.c中加入中断回调函数,在while(1)中加入扫描函数(消抖)是否会对以后的整体功能造成影响还有待商榷,毕竟很多示波器的工程都是会用到操作系统,不知道简单的逻辑能不能实现。

下面是演示视频: