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

发布者:Yuexiang888最新更新时间:2023-11-02 来源: elecfans关键字:stm32mp1  Cortex  扩展板  LED灯控制 手机看文章 扫描二维码
随时随地手机看文章

写在前面:

本文章为《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灯对应管脚。

原理图网络编号对应管脚管脚功能管脚功能码
LED1PE10GPIOANALOG
LED2PF10GPIOANALOG
LED3PE8GPIOANALOG


实验目的

了解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开发资料2-程序源码ARM体系结构与接口技术Cortex-M47_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


关键字:stm32mp1  Cortex  扩展板  LED灯控制 引用地址:stm32mp1 Cortex M4开发篇8:扩展板LED灯控制实验

上一篇:基于STM32F103C6与CAN收发器L9616实现一体化步进电机驱动器设计
下一篇:max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)

推荐阅读最新更新时间:2024-11-16 19:53

Arm推出新一代旗舰CPU、GPU和NPU
Arm宣布推出用于旗舰型手机的新款处理器IP系列:Cortex-X1 CPU,Cortex-A78 CPU,Mali-G78 GPU和Ethos-N78神经网络处理器(NPU)。 Arm表示,作为Arm定制化项目的一部分,Cortex-X1是迄今为止功能最强大的Cortex处理器,其峰值性能比当前的Cortex-A77 CPU高出30%,与刚刚发布的Cortex-A78相比,单线程整数性能提高了22%。 Cortex-X1与Cortex-A78的差异 Arm-Cortex-X1“这种短的高性能爆发产品最适合设备的快速响应,为智能手机和大屏幕设备提供了迄今为止最高的性能,” Arm表示,“此外,Cortex-X1与Co
[手机便携]
Arm推出新一代旗舰CPU、GPU和NPU
ARM CORTEX-M3 内核架构理解归纳
在我看来,Cotex-M3内核的主要包括:嵌套向量中断控制器(NVIC),取值单元,指令译码器,算数逻辑单元(ALU),寄存器组,存储器映射(4GB统一编址各区域功能的划分与界定),对于开发者而言,其实主要关注的主要分为三大块: 1、寄存器组2、地址功能划分映射3、中断机制(NVIC)。 1)寄存器组 Cortex-M3内核共有19组32位寄存器: R0 R12(通用寄存器); 低寄存器组R0 R7 32位Thumb-2指令与16位Thumb指令均可访问 高寄存器组R8 R12 32位Thumb-2指令与极少数16位Thumb指令可访问 R13(堆栈指针寄存器); 主堆栈寄存器MSP(main-SP)/进程
[单片机]
联发科发布全球首款Cortex-A72处理器
前不久 ARM 公司推出了一款全新处理器设计方案 Cortex-A72。Cortex-A72 是目前最高性能处理器技术,Cortex-A72 可 以较五年前的高端智能手机提供高于 50 倍的处理器性能。日前联发科就在 MWC 2015 上推出了全球首款采用 Cortex-A72 方案的处理 器 MT8173。其处理器性能可以碾压高通骁龙 810。 MT8173 是一款针对平板电脑设计的处理器,可以输出 4K 超高分辨率的影音内容,MT8173 采用 64 位大小核(big.LITTLE)架构,搭载 2 颗 Cortex-A72 及 2 颗Cortex-A53 处理器,将运算性能与低功耗提升到更高层次。MT8173的性能较
[手机便携]
联发科率先获Cortex-A12架构处理器专利授权
ARM周一正式发布了Cortex-A12架构处理器以及Mali-T622等全新的IP方案,手机芯片厂商联发科技(MediaTek)率先获得Cortex-A12的专利授权,包括威盛及子公司威睿、美商迈威尔也同时获得了Cortex-A12的授权。 联发科获Cortex-A12授权 据悉,ARM全新的Cortex-A12处理器基于ARM v7-A架构开发,与A7一样采用28nm制程,相比A9处理器性能提升70%,同时功耗降低约50%,是ARM又一兼顾性能与功耗平衡的应用处理器。Cortex-A12可支持ARM最新发布的Mali-T622以及V500图形处理器(GPU),可支持减少30%内存使用的Thumb-2技术、加速多媒体
[单片机]
使用STM32固件库函数操作控制LED灯
直接使用寄存器地址来进行STM32开发要对每一个寄存器的地址通过查找芯片手册,对每一个寄存器的各个位的含义也要查清楚,然后决定对那个地址的哪些位进行怎样的设置。这种编程效率低,程序的可移植性差,程序的可读性差。 STM32提供了对外设寄存器操作的功能函数,对寄存器操作只需要调用相应的库函数就可以,一般函数名单词组合与功能密切相关,增强了程序的可读性。 1、以CMSIS固件库项目为基础,在项目文件夹下新增 Lib 文件夹,在 Lib 文件夹下新增 inc 和 src 文件夹,在 inc 文件夹中复制 stm32f10x_gpio.h 和 stm32f10x_rcc.h 两个头文件,在 src 文件夹中复制 stm
[单片机]
使用STM32固件库函数操作<font color='red'>控制</font><font color='red'>LED灯</font>
恩智浦低成本Cortex-M0微控制器12月上市
恩智浦半导体(NXP Semiconductors)今天宣布,旗下基于ARM® Cortex™-M0的LPC1100微控制器系列产品将于12月分销上市。恩智浦LPC1100是市场上定价最低的32位微控制器解决方案,其价值和易用性比现有的8/16位微控制器更胜一筹。该控制器性能卓越、简单易用、功耗低,更重要的是,它能显著降低所有8/16位应用的代码长度。初期面市的LPC1100系列有15种产品,能满足所有那些寻求用可扩展ARM架构来进行整个产品开发过程的8/16位用户,满足其产品开发无缝整合需求。 恩智浦半导体副总裁微控制器部门兼总经理Geoff Lees先生表示:“现有的8位架构萌生于早期的半导体业有很多局限:地址范
[单片机]
米尔亮相ST峰会,不止于STM32MP135核心模组开发应用
2023年5月12-13日,STM32 峰会作为业界年度盛会在深圳蛇口希尔顿酒店隆重开幕,吸引了全球众多生态合作伙伴前来参加,共同展示了基于 STM32 创新的嵌入式解决方案和各类终端产品。 深圳市米尔电子有限公司(简称:米尔电子)作为合作伙伴参展,展出基于STM32MP1系列的核心模组和行业应用demo,并隆重推广新品STM32MP135核心模组,发表题为“米尔核心板加速基于STM32MP1的产品开发”的演讲。同期,在分论坛举办了开发板抽奖免费送的活动,吸引广大客户参与。 ST峰会-米尔展台 精彩1:STM32MP135核心模组新品发布 在ST峰会的主论坛上,米尔副总经理ALAN.ZHOU隆重介绍公司新品—
[单片机]
米尔亮相ST峰会,不止于STM32MP135核心模组开发应用
ARM探索之旅 | 一、带你认识ARM Cortex-M阵营
引言 笔者接触嵌入式领域软件开发已近五年,几乎用的都是 ARM Cortex M 内核系列的微控制器。在这五年期间,感谢C语言编译器的存在,让我不用接触汇编即可进行开发,但是彷佛也错过了一些风景,没有领域到编译器之美和CPU之美,所以决定周末无聊的休息时间通过寻找资料、动手实验、得出结论的方法来探索 ARM CPU 架构的美妙,以及C语言编译器的奥秘。(因为我个人实在是不赞同学校中微机原理类课程的教学方法)。 一、ARM CPU Architecture ARM CPU架构是一个用于计算机处理器的精简指令集(RISC)架构家族。它是世界上最普遍的处理器架构,从传感器、可穿戴设备、智能手机、到超级计算机,每年会有数十亿基于ARM
[单片机]
ARM探索之旅 | 一、带你认识ARM <font color='red'>Cortex</font>-M阵营
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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