stm32mp1 Cortex M4开发篇8:扩展板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综合项目实战篇等。
资源扩展板介绍硬件介绍&资源扩展板可开发项目
扩展板led灯控制实验原理打开扩展板原理图对照扩展板可以看到扩展板有四个led灯,其中led4为底板电压指示灯,ld1、ld2、ld3为可控led,原理如下:
有图可知,当led1为高电平是三极管q1导通,这时发光二极管led1会被点亮,同理当led2和led3为高电平时ld2、ld3会被点亮。
查看原理图可知led1、led2、led3分别对应stm32mp157芯片的pe10、pf10、pe8如下图:
扩展板与底板接口对照图
根据网络编号可最终追至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
这里我们需要注意一下,和其他单片机不同,还需要继续设置“ pin reservation”给“ cortex-m4”,否则stm32cubemx不会生生成gpio初始化相关代码。具体操作:在刚才选择的引脚上,鼠标右键选择“ pin reservation”->“ cortex-m4”。
在code generator处选择为每个外设生成单独的c和h文件,这样设置方便阅读代码
完成以上设置后,ctrl+s保存,会提示是否需要生成代码,选择yes即可自动生成代码。系统会自动生成system clock代码
上述为新建工程配置过程,可参考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灯的状态

小型机柜式氨氮分析仪专业技术
微软Xbox天蝎座什么时候上市多少钱?微软Xbox天蝎座已知消息汇总
8(八)路触发锁存电路
声雅SA-38功放电源电路图
A3只是起点,中国移动将牵手YunOS迈入5G时代
stm32mp1 Cortex M4开发篇8:扩展板LED灯控制实验
交错马刺:时序不匹配的数学
Silicon Labs无线收发器SI446x的应用技巧超详细讲解
全球5G套餐总览:人均月流量60G,最低资费30元/G
使用系统IO和标准IO的基本原理
接触器的接线、作用方法和工作原理
汽车压各种传感器的作用,压差传感器位置在哪?
供应链平台物流、售后管理功能详解:SCM系统软件撬动新能源汽车企业发展空间
所谓的纯电动汽车未必就是纯粹的电动汽车
基于泰勒综合法的均匀阵列
联想集团副总裁放出了一张Z6 Pro状态栏的实拍图,让很多人惊呆了
基于PMBus的DC/DC转换器负载点解决方案
模拟仿真技术:SPICE常用的建模方法和步骤
洗衣机使用后八成存在病菌
小米6什么时候上市:小米6搭载国产处理器,缺货赔三!