#2020征文-开发板# Hi3861 驱动OLED

发布于 2020-12-17 17:51
浏览
0收藏

今天尝试了驱动OLED,本来想自己写IIC的驱动来驱动OLED的,因为以前在STM32上做过IIC的OLED的驱动,但是在润和的gitee上面看到他们又做demo,所以直接拿来用了,省事省时又省力。
废话不多说。
先去gitee上下载源码。
https://gitee.com/hihopeorg/HarmonyOS-ssd1306

 

下载下来放到这个目录中,备用。

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

 我们先来看一下原理图:

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

从上面的原理图中可以看出,IIC的SDA连接到了GPIO13,SCL链接到了GPIO14。
记住这个,下面会用到。

接下来是修改BUILD.gn文件。
将app文件夹下的BUILD.gn文件修改为如下图所示:

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

然后到目录vendor\hisi\hi3861\hi3861\build\config下找到usr_config.mk,在里面添加CONFIG_I2C_SUPPORT=y

 

再找到vendor\hisi\hi3861\hi3861\app\wifiiot_app\init下找到app_io_init.c,将IIC的端口修改为13(SDA),12(SCL),如下:

    #ifdef CONFIG_I2C_SUPPORT
        /* I2C IO复用也可以选择3/4; 9/10,根据产品设计选择 */
        hi_io_set_func(HI_IO_NAME_GPIO_13, HI_IO_FUNC_GPIO_0_I2C1_SDA);
        hi_io_set_func(HI_IO_NAME_GPIO_14, HI_IO_FUNC_GPIO_1_I2C1_SCL);
    #endif

 

然后编译,下载,就可以用了,如下图:

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

#2020征文-开发板# Hi3861 驱动OLED-开源基础软件社区

 

已于2020-12-17 17:51:31修改
收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐