0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32mp1 Cortex M4开发篇8:扩展板LED灯控制实验

华清远见工控 2021-11-01 17:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

写在前面:

本文章为《ARM Cortex-M4裸机开发篇》系列中的一篇,,全系列总计14篇。笔者使用的开发平台为华清远见FS-MP1A开发板(STM32MP157开发板),Cortex-M4裸机开发篇除了讲M4裸机开发外,还会讲解通过M4控制资源扩展板上的各种传感器执行器模块(包括空气温湿度传感器LED灯、数码管、蜂鸣器、震动马达、按键中断、风扇等),本篇是M4控制资源扩展板中的一篇。

资源扩展板是FS-MP1A开发板的扩展模块,主要包含了10余种助主流传感器、执行器件、总线控制器件,非常方便项目扩展用。可拓展开发智慧家庭、智能医疗、智能安防、工业控制、图像识别、环境检测等方向的10个左右综合项目,华清远见开发板也将配套提供所有项目的说明文档、实验源码、应用程序等资料。

针对FS-MP1A开发板,除了Cortex-M4裸机开发篇外,还包括其他多系列教程,包括Cortex-A7开发篇、FreeRTOS篇、Linux基础及应用开发篇、Linux系统移植篇、Linux驱动开发篇、硬件设计篇、人工智能机器视觉篇、Qt应用编程篇、Qt综合项目实战篇等。

资源扩展板介绍

硬件介绍&资源扩展板可开发项目

poYBAGFn9z-AAMA3AAJtk6t7vns204.jpg

扩展板LED灯控制

实验原理

打开扩展板原理图对照扩展板可以看到扩展板有四个LED灯,其中LED4为底板电压指示灯,LD1、LD2、LD3为可控LED,原理如下:

poYBAGF_lm2ADo1DAACQK5MYX3A129.jpg

有图可知,当LED1为高电平是三极管Q1导通,这时发光二极管LED1会被点亮,同理当LED2和LED3为高电平时LD2、LD3会被点亮。

查看原理图可知LED1、LED2、LED3分别对应STM32MP157芯片的PE10、PF10、PE8如下图:

pYYBAGF_lm2AMMb_AACblHu2hek372.jpg

扩展板与底板接口对照图

根据网络编号可最终追至CPU对应管脚,由于上图已经可以明确LED灯对应管脚。

原理图网络编号 对应管脚 管脚功能 管脚功能码
LED1 PE10 GPIO ANALOG
LED2 PF10 GPIO ANALOG
LED3 PE8 GPIO ANALOG

实验目的

了解LED工作原理

学习GPIO口的使用方法,掌握如何利用STM32MP157A芯片的I/O口控制LED

实验环境

FS-MP1A开发平台

ST-Link仿真器

STM32CubeIDE开发软件

PC机 XP、Window7/10 (32/64bit)

实验步骤

打开STM32CubeIDE,配置CubeMX。

搜索框内搜索扩展板LED对应GPIO引脚PE8、PE10、PF10,左键点击设置为GPIO_Output

poYBAGF_lm2APaGnAADg9TWVGwo450.jpg

这里我们需要注意一下,和其他单片机不同,还需要继续设置“ Pin Reservation”给“ Cortex-M4”,否则STM32CubeMX不会生生成GPIO初始化相关代码。具体操作:在刚才选择的引脚上,鼠标右键选择“ Pin Reservation”->“ Cortex-M4”。

pYYBAGF_lm2AF9qCAAC7OhcNGFs001.jpg

在Code Generator处选择为每个外设生成单独的C和H文件,这样设置方便阅读代码

poYBAGD1MGmAams0AACpGOkAn0s579.png

完成以上设置后,Ctrl+S保存,会提示是否需要生成代码,选择Yes即可自动生成代码。系统会自动生成System Clock代码

poYBAGD1MG2ADAi6AAAgBCPP1k8477.png

上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\7_EX_GPIO_LED】

添加GPIO函数说明:

我们需要在main.c中添加GPIO相关函数, GPIO引脚输出电平高低函数

void bsp_led_on(void)

{

HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOE,GPIO_PIN_10,GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_SET);

}

void bsp_led_off(void)

{

HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOE,GPIO_PIN_10,GPIO_PIN_RESET);

HAL_GPIO_WritePin(GPIOF,GPIO_PIN_10,GPIO_PIN_RESET);

}

在main.c中调用函数改变GPIO引脚高低电平来改变LED灯的状态

pYYBAGFn90CADnhcAACkNLKoAdg961.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663550
  • 嵌入式
    +关注

    关注

    5186

    文章

    20146

    浏览量

    328820
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217973
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371159
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113324
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    X-NUCLEO-LED12A1 LED驱动器扩展板技术解析与应用指南

    STMicroelectronics X-NUCLEO-LED12A1 LED驱动器扩展板用于STM32 Nucleo,具有四个LED120
    的头像 发表于 10-31 15:13 270次阅读
    X-NUCLEO-<b class='flag-5'>LED12A1</b> <b class='flag-5'>LED</b>驱动器<b class='flag-5'>扩展板</b>技术解析与应用指南

    基于X-NUCLEO-SRC1M1 USB Type-C™ PD扩展板的技术解析与应用指南

    STMicroelectronics X-NUCLEO-SRC1M1 USB Type-C™ PD扩展板用于评估TCPP02-M18(用于USB Type-C™)和V~BUS~和CC线路保护的特性
    的头像 发表于 10-30 10:40 261次阅读
    基于X-NUCLEO-SRC<b class='flag-5'>1M1</b> USB Type-C™ PD<b class='flag-5'>扩展板</b>的技术解析与应用指南

    X-NUCLEO-IHM09M2电机控制扩展板技术解析与应用指南

    STMicroelectronics X-NUCLEO-IHM09M2扩展板可轻松评估用于三相电机的电机控制解决方案。X-NUCLEO-IHM09M2是一款电机
    的头像 发表于 10-29 10:26 2383次阅读
    X-NUCLEO-IHM09<b class='flag-5'>M</b>2电机<b class='flag-5'>控制</b><b class='flag-5'>扩展板</b>技术解析与应用指南

    STM32工业数字输出扩展板X-NUCLEO-OUT14A1技术解析与应用指南

    STMicroelectronics X-NUCLEO-OUT14A1扩展板是一款工业数字输出扩展板,基于STM32 Nucleo的ISO808A-
    的头像 发表于 10-24 15:18 306次阅读
    <b class='flag-5'>STM32</b>工业数字输出<b class='flag-5'>扩展板</b>X-NUCLEO-OUT14A<b class='flag-5'>1</b>技术解析与应用指南

    STM32WB连接扩展板技术解析:从硬件架构到开发实践

    STMicroelectronics B-WB1M-WPAN1连接扩展板设有板载STM32WB1MMCH6。STMicro B-WB1M-WPAN1连接
    的头像 发表于 10-23 09:40 359次阅读
    <b class='flag-5'>STM32</b>WB连接<b class='flag-5'>扩展板</b>技术解析:从硬件架构到<b class='flag-5'>开发</b>实践

    X-STM32MP-GNSS2扩展板技术深度解析

    STMicroelectronics X-STM32MP-GNSS2扩展板通过40引脚GPIO连接器引脚与STM32MP微处理器连接,使用I ²C、UART和GPIO连接各种组件。 该扩展板
    的头像 发表于 10-22 10:08 296次阅读
    X-<b class='flag-5'>STM32MP</b>-GNSS2<b class='flag-5'>扩展板</b>技术深度解析

    ‌X-STM32MP-GNSS1 GNSS扩展板技术解析

    STMicroelectronics X-STM32MP-GNSS1扩展板采用Teseo-LIV3FL模块,用于低功耗、多星座GNSS定位。STMicroelectronics
    的头像 发表于 10-22 09:28 272次阅读
    ‌X-<b class='flag-5'>STM32MP-GNSS1</b> GNSS<b class='flag-5'>扩展板</b>技术解析

    STM32MP257F-EV1评估板深度解析与技术应用指南

    STMicroelectronics STM32MP257F-EV1评估板是用于STM32MP257FAI3的开发平台,采用Arm® Cortex®-A35和
    的头像 发表于 10-20 11:49 445次阅读
    <b class='flag-5'>STM32MP257F-EV1</b>评估板深度解析与技术应用指南

    STM32WBA5M-WPAN蓝牙扩展板深度解析与开发实践

    STMicroelectronics B-WBA5M-WPAN STM32WBA连接性扩展板为用户提供了使用STM32WBA系列STM32W
    的头像 发表于 10-15 14:29 391次阅读
    <b class='flag-5'>STM32WBA5M</b>-WPAN蓝牙<b class='flag-5'>扩展板</b>深度解析与<b class='flag-5'>开发</b>实践

    请问NuMicro® Cortex-M0/M4系列可以提供哪些USB器件示例代码?

    NuMicro® Cortex-M0/M4系列可以提供哪些USB器件示例代码?
    发表于 08-19 07:05

    使用STM32CubeIDE调试STM32MP157D的M4内核时报了下图这个错误,怎么解决?

    我使用STM32CubeIDE调试STM32MP157D的M4内核时报了下图这个错误: 经过我的排除后发现,应该是STM32CubeIDE上传&quot
    发表于 06-18 06:57

    stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?

    stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写
    发表于 05-19 15:06

    【米尔-STM32MP257开发板试用体验】初次体验米尔-STM32MP257开发

    257D是ST推出的搭载了双核Cortex-A35 @1.5 GHz和Cortex-M33 @400 MHz的微处理器。米尔电子基于STM32MP257D推出了MYD-LD25X开发
    发表于 04-30 16:21

    使用STM32CubeIDE调试STM32MP157D的M4内核时报了错误怎么解决?

    我使用STM32CubeIDE调试STM32MP157D的M4内核时报了下图这个错误: 经过我的排除后发现,应该是STM32CubeIDE上传"
    发表于 03-14 06:01

    如何关闭STM32MP1 Developer Package开机默认的gtk演示程序?

    如题,如何关闭STM32MP1 Developer Package开机默认的gtk演示程序
    发表于 03-13 06:03