赞
踩
目录
STM32cubeIDE是ST官方推出的一款用于开发STM32的工具,相比于之前使用的keil来说更加强大和方便。HAL库虽然在论坛上还褒贬不一,但无论是cubeide和HAL库在未来应该会成为主流。
和keil相比用cubeide意味着程序有更高的移植性,图形化也更加直观,所以我也希望能以最简单直观的方式实现功能。
正点原子的f4探索者开发板、st-link
看原理图可知两个led灯在io口设置低电平时发光、高电平时熄灭。而LED0、LED1分别对应引脚为PF9和PF10。
上节我们已经创建了一个名为test1的工程,可以看到如下界面。
这里直接找到我们要用到的引脚PF9、PF10,点击之后可以选择引脚功能,这里我们选择GPIO_Output输出模式。可以看到图中引脚颜色变为绿色。
在左侧找到system core中的GPIO可以看到列表中出现了PF9,可以对引脚进行详细配置。
将输出模式设置成推挽输出Output Push Pull
列表最下面一栏可以自己更改标签,这里我们将PF9、PF10分别设置为LED0、LED1,可以看到右边引脚边上的注释也改变了。
图形界面配置好后点击保存(或者ctrl+s),会跳出两个弹窗,都点击确定。
可以看到cubeide已经自动创建好了main.c main.h等基本文件。
我们的代码就写在while循环内,要注意我们的代码一定要卸写在箭头所指的 /* USER CODE BEGIN */下方,在其他地方写代码在保存后会自动清除。
while循环中写入以下代码,目的是使两个led灯同时闪烁。
- while (1)
- {
- /* USER CODE END WHILE */
-
- /* USER CODE BEGIN 3 */
- HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9|GPIO_PIN_10, RESET); //RESET设置低电平,灯亮
- HAL_Delay(250); //延时0.25秒 及led灯亮0.25秒
- HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9|GPIO_PIN_10, SET); //SET设置高电平,灯灭
- HAL_Delay(250);
- }
- /* USER CODE END 3 */
我们用到的两个函数
HAL_GPIO_WritePin()用于给引脚写0或1,其中简单记忆RESET为0,SET为1。
HAL_Delay()为延时函数,单位毫秒。
点击编译(ctrl+B)
在编译无错误后点击debug按钮
自行设置调试器,我这里用的是st-link,选择swd模式。
我们可以直接运行,或者单步调试(在程序复杂的时候单调试找bug及其方便)。
至此本节的配置已经完成
运行后可以看到两个小灯开始闪烁。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。