我是靠谱客的博主 知性冬天,最近开发中收集的这篇文章主要介绍139_STM32F407_LED闪烁实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

         整个STMF407系列的学习汇总链接如下:

https://github.com/GreyZhang/g_stmf407

         这一次尝试实现一个LED的闪烁,其实很多工程师会把这个叫做嵌入式版本的hello world。也有人说:“给我一颗LED我就可以调试所有的嵌入式系统”。这个功能虽简单,但是确实一个以小见大的功能,最常用的一个地方便是用这个现实一个二值信号的状态。而到了我们的调试阶段,我们会根据现象做出各种猜测,而猜测的对不对我们完全可以用LED做一个指示信息。假如再高端点,不同的闪烁带有不同的含义,这样的提示功能则更为强大。

         我手头的电路板,PF9-21脚接了一个LED灯。在嵌入式的系统里,通常使用的驱动方式便是最简单的GPIO。

         我选择的开发平STM32CubeIDE_1.0.2可以自动生成相应的驱动代码,功能的配置也是图形化的。这让我这个习惯了自己把代码从头写到尾的人来说简直是不能更赞!更让我惊喜的是,这个工具还自动给我增加了初始化代码。以下是对比参考:

         看到这里就不难知道,为什么使用这个MCU平台的人开发产品速度会那么快。不过,这也给了我更大的信息,我之前自己从头撸到尾的方式都能够打败他们,切换到这样的平台我定然是有如神助吧!

         我想实现的一个简单的LED闪烁看起来更容易了,找了一下有我可以直接用的现成软件接口。LED闪烁实现的相关核心代码如下:

/* Private variables ---------------------------------------------------------*/
static uint32_t counter = 0U;

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
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();

    /* USER CODE BEGIN Init */

    /* USER CODE END Init */

    /* Configure the system clock */
    SystemClock_Config();

    /* USER CODE BEGIN SysInit */

    /* USER CODE END SysInit */

    /* Initialize all configured peripherals */
    MX_GPIO_Init();
    /* USER CODE BEGIN 2 */

    /* USER CODE END 2 */

    /* Infinite loop */
    /* USER CODE BEGIN WHILE */
    while (1)
    {
        counter++;
        if (counter % 50000 == 0)
        {
            HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_9);
        }
        /* USER CODE END WHILE */
        /* USER CODE BEGIN 3 */
    }
    /* USER CODE END 3 */
}

         完整代码文件参考: https://github.com/GreyZhang/g_stmf407

         编译链接成功后,烧写运行,可以看到LED灯的闪烁。

最后

以上就是知性冬天为你收集整理的139_STM32F407_LED闪烁实现的全部内容,希望文章能够帮你解决139_STM32F407_LED闪烁实现所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部