您现在的位置是:首页 >技术杂谈 >【CH32V】CH32V307驱动4P_OLED网站首页技术杂谈

【CH32V】CH32V307驱动4P_OLED

紫阡星影 2024-08-12 00:01:02
简介【CH32V】CH32V307驱动4P_OLED

前言

  手上正好有 CH32V307 的板子就耍耍,网上4P的OLED例程也不少 4P OLED 屏驱动例程。在加上一些 STM32 标准库的知识,改改引脚定义,就可以将 OLED 屏连接到板子上进行显示了。当然,我也将会分享我整理好的库文件代码和完整的工程,以便那些需要的朋友们能够快速上手实现 OLED 屏的驱动和显示功能。希望这篇文章能对大家有所帮助。

环境

  • 软件:MounRiver Studio

  • OLED的电源连接就不说了

    SCL —> PB11 SDA —> PB10

流程

  • 文字流程

    1. 在主函数确保IIC所用到的双引脚完成初始化
    2. 在oled.h中修改IIC引脚的信息(格式如下)
      #define OLED_SCLK_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_11)//SCL
      #define OLED_SCLK_Set() GPIO_SetBits(GPIOB,GPIO_Pin_11)
      #define OLED_SDIN_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_10)//SDA
      #define OLED_SDIN_Set() GPIO_SetBits(GPIOB,GPIO_Pin_10)
    3. 记得导入OLED.h库,和添加路径
      #include “oled.h”
    4. 记得初始化OLED
      OLED_Init();
      OLED_Clear();
  • 代码流程

    下面的基于我打包好的OLED屏库,文件的导入流程。

    • 在主函数确保IIC所用到的双引脚完成初始化。main.c

        void OLEDGPIO_Init()
        {
            GPIO_InitTypeDef  GPIO_InitStructure;
            RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
        
            GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
            GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
            GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
            GPIO_Init(GPIOB, &GPIO_InitStructure);
        }
      
    • 在oled.h中修改IIC引脚的信息(格式如下)。oled.h

      #define OLED_SCLK_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_11)//SCL
      #define OLED_SCLK_Set() GPIO_SetBits(GPIOB,GPIO_Pin_11)
      
      #define OLED_SDIN_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_10)//SDA
      #define OLED_SDIN_Set() GPIO_SetBits(GPIOB,GPIO_Pin_10)
      
    • 记得导入OLED.h库,复制到工程文件下和添加路径。

      #include "OLED.H"
      
      • 添加文件。

        在这里插入图片描述

      • 添加编译路径

        在左上方的工具栏中找到,文件 --> 属性,点击打开如下界面。点击文件系统后,在跳出的文件夹选择框中,添加包含的OLED库进来即可。

        在这里插入图片描述

    • 主程序中初始化OLED,多添加一条显示函数,来检验现象。

      OLED_Init();
      OLED_Clear();
      
      OLED_ShowString(0, 0, "HELLO WORLD!", 16);
      

      在这里插入图片描述

现象

上述代码烧录现象

在这里插入图片描述

工程

CH32V307VCT6_OLED_4P.zip 是完整的工程文件。OLED_4P.zip 是单独的OLED库。

链接:https://pan.baidu.com/s/1NPBAkmuw3IrYTwbsLPGyBw 提取码:uzlg

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。