0.96寸OLED代码移植(HAL库)

MCU:STM32F4

模块:0.96单色OLED

通信方式:IIC

1.下载官方代码
2.将一下文件复制到自己的工程中

3.替换oled.h中代码

1.

替换成

#include "main.h"

2.

 

 替换内容

#define OLED_SCL_Clr() HAL_GPIO_WritePin(SCL,SCL_PIN,GPIO_PIN_RESET)//SCL
#define OLED_SCL_Set() HAL_GPIO_WritePin(SCL,SCL_PIN,GPIO_PIN_SET)

#define OLED_SDA_Clr() HAL_GPIO_WritePin(SDA,SDA_PIN,GPIO_PIN_RESET)//DIN
#define OLED_SDA_Set() HAL_GPIO_WritePin(SDA,SDA_PIN,GPIO_PIN_SET)
4.在oled.h最添加代码 

 

#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t
//对应SCL的引脚
#define SCL 	GPIOC
#define SCL_PIN	GPIO_PIN_0  
//对应SDA的引脚
#define SDA 	GPIOC
#define SDA_PIN	GPIO_PIN_1
//使能时钟宏
#define	SCL_Clock_Enable	__HAL_RCC_GPIOC_CLK_ENABLE
#define	SDA_Clock_Enable	__HAL_RCC_GPIOC_CLK_ENABLE
5.在oled.c中修改一下代码

    GPIO_InitTypeDef gpio_init = {0};
	SCL_Clock_Enable();
	SDA_Clock_Enable();
	gpio_init.Pin = SCL_PIN;
	gpio_init.Mode = GPIO_MODE_OUTPUT_PP;
	gpio_init.Pull = GPIO_NOPULL;
	gpio_init.Speed = GPIO_SPEED_HIGH;
	HAL_GPIO_Init(SCL,&gpio_init);
	
	gpio_init.Pin = SDA_PIN;
	HAL_GPIO_Init(SDA,&gpio_init);
	
	HAL_GPIO_WritePin(SCL,SCL_PIN,GPIO_PIN_SET);
	HAL_GPIO_WritePin(SDA,SDA_PIN,GPIO_PIN_SET);
	delay_ms(200);

 6.代码测试

#include "main.h"
#include "oled.h"

void main(void)
{
    OLED_Init();
	OLED_Clear();
    while(1)
    {
        OLED_ShowString(0,0,"ABC",8,1);//6*8 “ABC”
	    OLED_ShowString(0,8,"ABC",12,1);//6*12 “ABC”
	    OLED_ShowString(0,20,"ABC",16,1);//8*16 “ABC”
	    OLED_ShowString(0,36,"ABC",24,1);//12*24 “ABC”
	    OLED_Refresh();
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值