我是靠谱客的博主 呆萌河马,最近开发中收集的这篇文章主要介绍启明欣欣STM32开发板闪烁LED实验,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近在咸鱼上买了一块启明欣欣的STM32板子,准备在上面测试open62541和CANopen,到货后如下图,
在这里插入图片描述
找商家要了资料,然后运行一个LED灯的实验来简单测试下板子,本文记录一下这个过程。


一 准备

安装Keil 5.35,安装过程很简单,安装完之后自带CMSIS 5.5.0版本,
在这里插入图片描述
然后安装对应的pack包,由于芯片是STM32F407ZGT6,故下载对应的F4包,如下,
在这里插入图片描述
下载完毕后导入这个包。

然后就是创建工程,这个过程不赘述,网上各种教程,创建完毕之后本人把编译器改为版本5如下,
在这里插入图片描述
默认是版本6,但是版本6编译CMSIS时会报warning,网上查了下5和6的区别,6会编译的更快,不过对我来说稳定性比较重要,所以改成版本5

最后是选择runtime环境,即如下按钮,
在这里插入图片描述
点击之后进行选择,勾选CMSIS->CORE
在这里插入图片描述
勾选Device->Startup和Device->STM32Cube Framework(API) -> Classic,
在Device->STM32Cube HAL下,勾选Common,Cortex,GPIO,PWR和RCC
在这里插入图片描述

在这里插入图片描述
最后添加main.c到工程里,这样准备工作就结束了。

由于工程比较简单,所以就没用CubeMX了。


二 代码

本来想使用商家提供的代码,打开一看是很老的代码,CMSIS应该还是3.x的版本,老的接口和新的接口已经不兼容了,于是自己琢磨一下重新编写了,代码如下,

#include "stm32f4xx.h" 
#include "stm32f4xx_hal_gpio.h"
#include "stm32f4xx_hal_rcc_ex.h"


int main(void)
{

    __HAL_RCC_GPIOE_CLK_ENABLE(); // 开启PE的时钟
	__HAL_RCC_GPIOG_CLK_ENABLE(); // 开启PG的时钟
	
	GPIO_InitTypeDef  GPIO_InitStructure;

    GPIO_InitStructure.Pin = GPIO_PIN_3 | GPIO_PIN_4;
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;// 输出,push pull模式
    GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH;
    GPIO_InitStructure.Pull = GPIO_PULLUP; // 上拉
    HAL_GPIO_Init(GPIOE, &GPIO_InitStructure); // 初始化PE3和PE4
	
	GPIO_InitStructure.Pin = GPIO_PIN_9;
	HAL_GPIO_Init(GPIOG, &GPIO_InitStructure); // 初始化PG9
	
	HAL_GPIO_WritePin(GPIOE, GPIO_PIN_3 | GPIO_PIN_4, GPIO_PIN_RESET); // 让PE3和PE4输出低电平,可以点亮LED
	HAL_GPIO_WritePin(GPIOG, GPIO_PIN_9, GPIO_PIN_RESET); // 让PG9输出低,可以点亮LED


	while (1)
	{
		// 延时 ~0.5s
		for(uint32_t i = 0; i < 2000; ++i)
		{
			for(uint32_t j = 0; j < 1000; ++j);
		}
		// 翻转PE3、PE4和PG9的电平
		HAL_GPIO_TogglePin(GPIOG, GPIO_PIN_9);
		HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_3);
		HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_4);
	}
}

编译后使用STLink下载到板子里,复位后运行,发现三个LED灯可以闪烁了。

最后

以上就是呆萌河马为你收集整理的启明欣欣STM32开发板闪烁LED实验的全部内容,希望文章能够帮你解决启明欣欣STM32开发板闪烁LED实验所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部