硬件
1.jpg 2.jpg


  • 因为OLED屏幕的GND和IO与这里的排母布局相近,隔壁有个相邻的悬空IO(NC),因此将它连接到3.3V。
3.jpg

软件
先勾选I2C1的使能。
4.jpg

添加软件驱动包,用于驱动OLED显示屏。
5.jpg

使能支持包中的例子。
6.jpg

编译报错,ssd1306_tests.c中缺少HAL_DelayHAL_GetTick函数。
7.jpg

使用rtt中的函数替换它们。
8.jpg

#ifdef AB32VG1_HAL_H__
#define HAL_GetTick()  rt_tick_get()
#define HAL_Delay(ms)  rt_thread_mdelay(ms)
#endif


  • I2C1的默认IO:


    • SCL:PE3 -> 16
    • SDA:PE2 -> 15

  • 修改IO为:


    • SCL:PA0 -> 0
    • SDA:PA2 -> 2


9.jpg


  • 使用rt_pin_get()获取指定GPIO的NUM号。

    • rt_pin_get("PA.0")
    • rt_pin_get("PA.2")


10.jpg

结果
运行测试例程。
15.jpg
11.jpg
12.jpg
13.jpg
14.jpg


个人博客