STM32F103—Hal库的学习(1)LED灯闪烁

前言

        之后的实验主要基于stm32f103c8t6开发板,之前一直用标准库,后面发现对于一个新项目,有时候hal库会更加简单,因此开始写一栏关于hal库的学习贴。

        而hal开发自然离不开STM32CubeMx,要先安装好此软件。

        (Tips:STM32CubeMx生成的储存目录最好不要出现中文,不然有可能会生成失败)

1.新建一个工程

2.首先搜索自己的芯片型号,然后双击选择。

我们根据原理图可知,stm32f103c8t6最小系统的led灯引脚是PC13,当然你们也可以自己选择一个其他引脚,做相同设置后外接一个led。

                                                                

3.设置引脚:选择pc13后设置输出。

然后按照顺序,1框可以选择MCU的各类外设资源,点击GPIO外设,因为我们前面设置了PC13,所以我们可以在这里看到PC13引脚的设置,4框可以设置其初始化,可以根据自己需要设置,我这里是设置了,开始低电平,输出模式,非上下拉,低速。

4.设置时钟树,stm32cumx用的是图形化时钟树,方便理解,因为我们只是实现led闪烁,无需其他功能,可以直接选择默认,我这里选择默认的系统时钟。

当然,你如果想要使用外部时钟,记得配置RCC,我这里就不开启了。

如果你是用4脚stlink下载,还得设置debug,如下图:

5.工程设置:点击1框,2框为你的工程名,2框下半部分是储存路径,路径最好不要出现中文,不然容易生成失败,3框是你的ide,我的是keil5

如下图,点击1框,注意2框的那三条选项,第一条的意思是:将库的.c和.h全部复制到工程中,优点是日后直接工程移植会方便些,缺点是体积大,编译时间长;第二条是只复制需要的c和h,一般是最优选;第三条是不复制文件,直接从软件包存放位置导入.C和.H ,体积最小。3框保持默认就行,也可以根据自己需要修改。

最后点击4框生成文件。

根据需要选择,我这里选择的是中间,直接打开工程

编译成功。

之后编写程序,实现LED的闪烁,因为这个只是初始化程序,只能实现led灯亮。

我们在while(1)函数加入状态翻转程序。

HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
		HAL_Delay(1000);

HAL_Delay();是hal库自带的延时函数,单位是ms,现在便实现了每秒状态翻转。

要实现STM32F103HAL库点亮LED,你可以按照以下步骤进行操作: 1. 首先,确保你的工程环境已经搭建好,并且STM32F103芯片已经正确连接到开发板上。 2. 在代码包中,找到点亮LED的代码程序。该程序会使用HAL库函数来控制GPIO引脚输出来点亮LED。 3. 打开IDE,选择你使用的IDE,例如STM32CubeIDE或Keil MDK-ARM。 4. 在IDE中创建一个新项目,并设置项目名称为"led" 。 5. 生成代码。点击IDE中的"Generate Code"按钮,根据你选择的IDE生成代码。 6. 配置下载器。在CubeIDE中,点击"Run"按钮,然后在弹出的配置选项中选择下载器的类型,如果你使用的是ST-LINK调试探头,选择"ST-LINK(ST-LINK GDB Server)",如果你使用的是J-Link调试探头,选择第二项"J-LINK"。其他选项保持默认即可。 7. 下载代码。将生成的代码下载到STM32F103芯片上。 8. 运行代码。当代码成功下载到芯片上后,LED应该会点亮。 这样,你就可以使用STM32F103HAL库来点亮LED了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [STM32F103C8T6(HAL库)部分例程(点、串口通信)](https://download.csdn.net/download/weixin_43716074/12874935)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [一、【STM32 HAL库开发】点亮led](https://blog.csdn.net/qq_27849725/article/details/121937526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值