在测试HarmonyOS Wi-Fi IoT 套件Hi3861过程,套件上的oled屏幕不亮了,最后排查发现是测试新程序的时候把之前的测试程序入口更改了,无法驱动oLED了。
论坛上有连志安老师的视频讲解了oled的驱动方法,我使用了代码进行简单的测试和使用,然后,在网上找到了别人移植ssd1306芯片驱动的程序。
今天,在测试hi3861的oled屏幕后,将进一步使用ssd1306芯片的驱动在鸿蒙开发板上进行测试。
首先,要进行oled的驱动前要将oled对应的Hi3861 上i2c针脚服用功能打开。
01
打开hi3861 对应的oled显示屏 i2c0引脚是 gpio13和gpio14需要到源码文件app_io_init.c 修改开启文件位置在源码目录下的vendor\hisi\hi3861\hi3861\app\wifiiot_app\init\app_io_init.文件#ifdef CONFIG_I2C_SUPPORT位置修改为#ifdef CONFIG_I2C_SUPPORT
/* I2C IO复用也可以选择3/4; 9/10,根据产品设计选择 */
hi_io_set_func(HI_IO_NAME_GPIO_13,HI_IO_FUNC_GPIO_13_I2C0_SDA);
hi_io_set_func(HI_IO_NAME_GPIO_14,HI_IO_FUNC_GPIO_14_I2C0_SCL);
#endif
02
第二步是开启I2C功能修改usr_config.mk文件
在源文件下vendor\hisi\hi3861\hi3861\build\config\usr_config.mk位置在usr_config.mk文件中增加CONFIG_I2C_SUPPORT=y允许语句。然后我们简单的驱动oled