您尚未登录。

楼主 # 2022-08-24 00:14:31

XMGroupe.
会员
注册时间: 2022-08-22
已发帖子: 12
积分: 237

[XMG助力国产]MC3172驱动SSD1306 OLED

[XMG助力国产生态]
@XMGroupe.

本文介绍MC3172驱动SSD1306 OLED。

此驱动移植于STM32下的IIC驱动,对STM32工程中SSD1306OLED代码进行一些简单修改,完成OLED驱动。

修改内容:
1.更改IIC IO的初始化和控制函数;

void OLED_Gpio(void)
{
#ifdef OLED_ELOG
    log_i("OLED Gpio Initing");
#endif
    INTDEV_SET_CLK_RST(OLED_IOport,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIV4));
    GPIO_SET_OUTPUT_EN_VALUE(OLED_IOport,(OLED_Sclk|OLED_Sdin),GPIO_SET_ENABLE);
    GPIO_SET_OUTPUT_PIN_TO_1(OLED_IOport,(OLED_Sclk|OLED_Sdin));
#ifdef OLED_ELOG
    log_i("OLED Gpio Init OK");
#endif
}
#define OLED_IOport GPIOA_BASE_ADDR
#define OLED_Sclk   GPIO_PIN14
#define OLED_Sdin   GPIO_PIN15

#define OLED_SCLK_Clr() GPIO_SET_OUTPUT_PIN_TO_0(OLED_IOport,OLED_Sclk);
#define OLED_SCLK_Set() GPIO_SET_OUTPUT_PIN_TO_1(OLED_IOport,OLED_Sclk);

#define OLED_SDIN_Clr() GPIO_SET_OUTPUT_PIN_TO_0(OLED_IOport,OLED_Sdin);
#define OLED_SDIN_Set() GPIO_SET_OUTPUT_PIN_TO_1(OLED_IOport,OLED_Sdin);

2.根据MC3172的IO速度优化IIC的时许;
3.加入EasyLogger调试输出代码,其使能宏定义在oled.h文件中。

#define OLED_ELOG

驱动流程:
1.将OLED驱动文件(包括oled.c+oled.h+oledfont.h)加入到工程中;
2.在oled.h中修改对应的IO口
*注:此处默认为一组IO口,即CLK和SDA都是PAx,若采用两个不同组的IO,需要修改oled.h中的IO控制函数和oled.c中的初始化函数。

#define OLED_IOport GPIOA_BASE_ADDR
#define OLED_Sclk   GPIO_PIN14
#define OLED_Sdin   GPIO_PIN15

3.在线程中添加初始化代码

OLED_Init();

*程序只实现了一些基本的显示函数,其他显示功能与常规单片机一致,可以直接添加稍作修改后使用。

最终效果
FluxBB bbcode
FluxBB bbcode

文件包
https://gitee.com/sxm90/MC3172/tree/master/SSD1306OLED

离线

#1 2022-08-24 12:29:13

support_gxchip
Moderator
注册时间: 2022-07-26
已发帖子: 58
积分: 103

Re: [XMG助力国产]MC3172驱动SSD1306 OLED

大佬真是高产啊

离线

楼主 #2 2022-08-24 14:00:51

XMGroupe.
会员
注册时间: 2022-08-22
已发帖子: 12
积分: 237

Re: [XMG助力国产]MC3172驱动SSD1306 OLED

最近闲散时间多,赶紧发一发

离线

#3 2022-09-17 10:29:25

redstone8415
会员
注册时间: 2022-09-13
已发帖子: 2
积分: 2

Re: [XMG助力国产]MC3172驱动SSD1306 OLED

2.4寸 12864 oled ssd1309驱动的可以用这个改出来吗?

离线

楼主 #4 2022-09-17 16:02:15

XMGroupe.
会员
注册时间: 2022-08-22
已发帖子: 12
积分: 237

Re: [XMG助力国产]MC3172驱动SSD1306 OLED

redstone8415 说:

2.4寸 12864 oled ssd1309驱动的可以用这个改出来吗?

可以的

离线

#6 2022-09-22 11:31:00

Chin
会员
注册时间: 2020-10-19
已发帖子: 61
积分: 39

Re: [XMG助力国产]MC3172驱动SSD1306 OLED

优秀!晚点也去测试一下!

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn