2915|7

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【NUCLEO-L452RE测评】+OLED屏显示驱动 [复制链接]

本帖最后由 jinglixixi 于 2020-12-21 16:06 编辑

NUCLEO-L452RE开发板的周边外设比较少,为了便于人际交互最先考虑的是为其配上一个显示屏,以利于信息的观察。

为了较少地占用系统资源,这里采用的是I2C接口的双色OLED屏,考虑到NUCLEO-L452RE开发板配有Arduino接口,就将OLED屏放到Arduino接口上来使用,从而能够不必连线就解决问题。

OLED屏与MCU的连接关系为:

SCL---PA5

SDA---PA6

控制相关引脚输出高低电平的语句定义为:

#define OLED_SCLK_Set()  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5,GPIO_PIN_SET)

#define OLED_SCLK_Clr()  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5,GPIO_PIN_RESET)

#define OLED_SDIN_Set()  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6,GPIO_PIN_SET)

#define OLED_SDIN_Clr()  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6,GPIO_PIN_RESET)

实现引脚输出功能配置的函数为:

void GPIO_OLED_INIT(void)
{
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Pin = GPIO_PIN_5;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);   
GPIO_InitStruct.Pin = GPIO_PIN_6;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

 

辅助显示函数为:

void IIC_Start()
{
OLED_SCLK_Set();
OLED_SDIN_Set();
OLED_SDIN_Clr();
OLED_SCLK_Clr();
}

void IIC_Stop()
{
OLED_SCLK_Set();
OLED_SDIN_Clr();
OLED_SDIN_Set();
}

void IIC_Wait_Ack()
{
OLED_SCLK_Set();
OLED_SCLK_Clr();
}

涉及的字符串显示函数为:

void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 Char_Size)
{
    unsigned char j=0;
    while (chr[j]!='\0')
    {       
            OLED_ShowChar(x,y,chr[j],Char_Size);
            x+=8;
            if(x>120){x=0;y+=2;}
            j++;
    }

}

 

实现下图显示效果的主程序为:

int main(void)
{
HAL_Init();
SystemClock_Config();
GPIO_OLED_INIT();
OLED_Init();
OLED_Clear();
OLED_ShowString(8,2,"STM32L452",16);
OLED_ShowString(8,4,"OLED TEST",16);
OLED_ShowCHinese(80,2,9);
OLED_ShowCHinese(96,2,10);
OLED_ShowCHinese(112,2,11);
while (1);
}

OLED屏显示效果

有了OLED屏的显示功能,后面以RTC实现一个电子时钟也就方便一些了。

此帖出自stm32/stm8论坛

最新回复

这个液晶大点就好玩了   详情 回复 发表于 2020-12-22 13:27
点赞 关注
 

回复
举报

1万

帖子

203

TA的资源

管理员

来自 4楼
 

ST NUCLEO-L452RE测评

汇总贴:https://bbs.eeworld.com.cn/thread-1151850-1-1.html 

此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

抄的吗?

此帖出自stm32/stm8论坛

点评

啥意思?  详情 回复 发表于 2020-12-20 23:12
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 

啥意思?

此帖出自stm32/stm8论坛
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

5
 

型号不对啊?

此帖出自stm32/stm8论坛

点评

哈哈,两块板子前后脚到的,一块办程序可以共用。  详情 回复 发表于 2020-12-21 15:58
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

6
 

哈哈,两块板子前后脚到的,一块办程序可以共用。

此帖出自stm32/stm8论坛
 
 
 

回复

1239

帖子

66

TA的资源

纯净的硅(中级)

7
 

这个液晶大点就好玩了

此帖出自stm32/stm8论坛

点评

下次换个2.2寸的显示屏。  详情 回复 发表于 2020-12-22 14:57
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

8
 
dql2016 发表于 2020-12-22 13:27 这个液晶大点就好玩了

下次换个2.2寸的显示屏。

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表