1131|3

16

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【测评STM32L452Nucleo-64】以点亮led、oled为例进行模块测试 [复制链接]

 

一、点亮一个led灯
软件编程常以输出”Hello World”作为学习的开始,在嵌入式的开发中我们也常使用点亮一个流水灯的方式开始学习,但是基于板载的资源比较少,Nucleo开发板上只有一个绿色的led灯,我们这里以点亮这个led灯为例进行第一个程序的开发。首先Cube的配置见下图,就是初始化配置未作修改。
 


在while(1)中输入代码

HAL_GPIO_TogglePin(GPIOA,LD4_Pin);
HAL_Delay(1000);


绿色led灯将每一秒进行闪烁编译通过后下载即可演示视频如下

2cb61de732ea018baecfe9bf6b2de912

 

二、oled模块测试

oled是编程常用的直观的显示模块这里我们分布介绍一下在STM32L452RE上使用I2C进行oled配置,首先Cube的配置见下图

生成底层后我们还需要引入oled.c,oled.h,oledfont.h三个文件,经常进行开发的小伙伴对他们一定很熟悉这里就不做过多赘述,我使用的是四引脚的oled屏幕将GND接地VCC接3.3V,这里配置的是I2C2通道所以SCL接PB10,SDA接PB11,接好后编写了一段测试代码进行测试

int main(void)

{

/* USER CODE BEGIN 1 */

u8 t=0;

/* USER CODE END 1 */

/* MCU Configuration--------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */

HAL_Init();

/* USER CODE BEGIN Init */

/* USER CODE END Init */

/* Configure the system clock */

SystemClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */

/* Initialize all configured peripherals */

MX_GPIO_Init();

MX_USART2_UART_Init();

MX_I2C2_Init();

/* USER CODE BEGIN 2 */

OLED_Init();

OLED_ShowString(0,0,"STM32L452",24);

OLED_ShowString(0,24, "0.96' OLED TEST",16);

OLED_ShowString(0,40,"ATOM 2023/9/17",12);

OLED_ShowString(0,52,"ASCII:",12);

OLED_ShowString(64,52,"CODE:",12);

OLED_Refresh_Gram();

t=' ';

/* USER CODE END 2 */

/* Infinite loop */

/* USER CODE BEGIN WHILE */

while (1)

{

/* USER CODE END WHILE */

OLED_ShowChar(36,52,t,12);

OLED_ShowNum(94,52,t,3,12);

OLED_Refresh_Gram();

t++;

if(t>'~')t=' ';

HAL_Delay(500);

/* USER CODE BEGIN 3 */

}

/* USER CODE END 3 */

}

测试结果如下

这里需要补充说明的是使用I2C不同通道对输出引脚有所改变,STM32L452RE可配置四个I2C其中I2C1对应PA9、PA10,I2C2对应PB10、PB11、I2C3对应PC0、PC1 、I2C3对应PB6、PB7。配置好后在找到对应的引脚,在板上引脚标注不全具体可参考下图。

 

此帖出自stm32/stm8论坛

最新回复

好的,谢谢分享!   详情 回复 发表于 2023-9-25 18:41
点赞 关注
 

回复
举报

7608

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 

OLED_ShowString 是谁提供的库啊?

此帖出自stm32/stm8论坛

点评

这个是我用的oled.c里的一个函数我常用的是这三个文件可以参考一下    详情 回复 发表于 2023-9-23 22:19
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
freebsder 发表于 2023-9-19 17:19 OLED_ShowString 是谁提供的库啊?

这个是我用的oled.c里的一个函数我常用的是这三个文件可以参考一下

oledfont.h (39.61 KB, 下载次数: 1)

oled.h (1.16 KB, 下载次数: 1)

oled.c (8.28 KB, 下载次数: 1)

 
此帖出自stm32/stm8论坛

点评

好的,谢谢分享!  详情 回复 发表于 2023-9-25 18:41
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

4
 
一只香榴莲 发表于 2023-9-23 22:19 这个是我用的oled.c里的一个函数我常用的是这三个文件可以参考一下  

好的,谢谢分享!

此帖出自stm32/stm8论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表