【NUCLEO-L476RG开发】第一篇:GPIO简单操作—点亮LED 拿到476的板子也有一小会了,一直忙着没来得及研究,终于今天有空了,拿出来看看。 一个新的板子拿到手里都会先研究下GPIO,最常做的就是点亮一个LED,当然首次接触STM32F476,我也是先从GPIO做起。 一,准备工作 现在STM32出了越来越多的芯片,而且从去年开始推出了,底层代码神器,STM32CubeMx,当然对于大多数从寄存器做起的大神,可能这不算什么,可是对于很多初学者,或者很多新手,不用看底层寄存器确实还是有一些好处的,特别是L476常达1600多页的PDF,对于很多人来说就像噩梦一样! 准备工作主要有三个: 1、安装STM32cubemx及L4的库,这个方法教程太多了,百度各种都有 2、安装KEIL软件,这边我推荐用keil,原因很多啦,主要还是ARM支持KEIL,当然肯定是优势很多了。 3、当然是安装ST_LINK的驱动,NUCLEO是支持ST_LINK下载的,ST_LINK的驱动在论坛就有,大家直接下载集成驱动包会比较好一点,最好使用最新的,最新的好像是V3.6版本了。我记得文件名字是STSW-LINK004 闲话少说,前言少叙,这边我们就首先打开cubemx新建一个项目,这边我给大家提醒的是,我们选择NUCLEO L476RG后,出现的界面是官方默认的设置,我建议很多新手不要去改,因为这些GPIO设置是官方已经设定好了,当然如果你很懂那就无所谓了,如下图所示: 然后点击生成代码,当然这边会让你设定目录和项目名称,需要注意的是目录不要有中文噢,不然会很麻烦的 二、正式开始 用keil打开生成的代码。其实要修改的很简单,主要是因为cubemx已经给你做了很多工作了,所以你的工作很简单,如下在main.c中添加红色的部分,那么就可以操作L476上边的LED2了,可以看见这个灯每隔一秒亮一次灭一次。 int main(void) { /*USER CODE BEGIN 1 */ /*USER CODE END 1 */ /*MCU Configuration----------------------------------------------------------*/ /*Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* Configure the system clock */ SystemClock_Config(); /*Initialize all configured peripherals */ MX_GPIO_Init(); /*USER CODE BEGIN 2 */ /*USER CODE END 2 */ /*Infinite loop */ /*USER CODE BEGIN WHILE */ while (1) { /*USER CODE END WHILE */ /*USER CODE BEGIN 3 */ HAL_GPIO_WritePin(LD2_GPIO_Port,LD2_Pin,GPIO_PIN_SET); HAL_Delay(1000); HAL_GPIO_WritePin(LD2_GPIO_Port,LD2_Pin,GPIO_PIN_RESET); HAL_Delay(1000); } /*USER CODE END 3 */ } 三、代码分析 这个代码其实很多部分我们都不需要干涉,因为底层已经帮我们设定好了,特别是如果你采用官方默认的cubemx的设定的话,在第一张图中就表示,那些IO是什么功能,需要什么模式,都已经设定好了,当然频率等等,我们都采用的默认配置,主要就是红色的部分使我们自己添加的,那么红色的部分是什么意思呢,实际上就是HAL库的两个函数: 1、 HAL_GPIO_WritePin,总共有三个参数:第一个是GPIOA,及你要设定的是GPIOA,第二个是LD2_Pin,实际是PIN5,那么前两个参数的意思就是,我们要设定GPIOA5的值,实际上第三个GPIO_PIN_SET和GPIO_PIN_RESET就是1或者0的意思。这边需要注意的是L476自带的是PA5高电平才能点亮灯,如图是原理图: 2、HAL_Delay,参数就一个,就是要延时的ms值。 四、总结 其实看到此处很多人可能会感觉,这些都是入门级别要知道的知识,其实也正是体现了cubemx的强大之处,只要一会会,一个新手就懂得操作GPIO了,实际上操作只能操作GPIO也可以做很多事情,再加上延时,甚至可以做一些简单的东西玩玩,比如操作继电器,做流水灯,花样灯等等。我的第一篇就用一个GPIO的操作开始,第二篇会带来一些有意思的东西。 注:附件里边是源代码,欢迎下载。 |
LED_L476RG.zip
下载5.97 MB, 下载次数: 124, 下载积分: ST金币 -1
当我写完文章,再去看stsw-link004时,没想到已经V3.7的版本了,升级也是越来越快了 |
多谢分享。。。 |
|
多谢分享! |