STM32学习笔记——使用函数库编程控制GPIO口输出

这篇博客介绍了如何使用STM32的函数库编程控制GPIO口,包括建立IAR项目工程、配置文件、选择合适的启动文件,并讲解了相关函数如RCC_APB2PeriphClockCmd、GPIO_Init等功能,适合STM32新手入门。
摘要由CSDN通过智能技术生成

使用函数库编程控制GPIO口输出

看了网上许多人的代码以及各类开发板所带的例程,大多数使用的都是官方发布的函数库来编程,通过查询后发现,使用函数库来编程可以简化开发过程,并不需要追溯到各个寄存器,通过查看库手册,新手也可以快速应用STM32,因此,决定先从函数库开始入门

1. 建立带函数库的IAR项目工程

先从网上下载3.5(据说3.0版以后的固件库才逐渐稳定)stm32固件库(stm32f10x_stdperiph_lib)。由于与固件库版本兼容问题,重新下载安装了IAR6.30版。

1.1 创建项目文件夹“project”;

1.2  解压“stm32f10x_stdperiph_lib.rar”后,

  ...\stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.5.0\下的“Libraries”文件夹拷贝到“project”文件夹,并在“project”文件夹中新建“project”文件夹以便与“Libraries”文件夹区分开;

1.3 将...\stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的“main.c”、“stm32f10x_conf.h”、“stm32f10x_it.c”“stm32f10x_it.h”拷贝至...\project\project文件夹中;

1.4 将...\stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\EWARM下的“stm32f10x_flash.icf”“stm32f10x_flash_extsram.icf”、“stm32f10x_nor.icf”、“stm32f10x_ram.icf”拷贝至...\project\project\EWARM文件夹中。

1.5   新建IAR工程项目,添加分组及文件如图:

STM32学习笔记——使用函数库编程控制GPIO口输出

其中:

l   Core_cm3.c…\project\Libraries\CMSIS\CM3\CoreSupport文件夹中;

l   System_stm32f10x.c…\project\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x文件夹中;

l   Startup_stm32f10x_md.s在...\project\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar文件夹中,此外根据所使用芯片大小不同,所选择的startup文件也不同,具体选择如下:


startup_stm32f10x_cl.s   互联型的器件,STM32F105xxSTM32F107xx
startup_stm32f10x_hd.s     
大容量的STM32F101xxSTM32F102xxSTM32F103xx
startup_stm32f10x_hd_vl.s  
大容量的STM32F100xx
startup_stm32f10x_ld.s     
小容量的STM32F101xxSTM32F102xxSTM32F103xx
startup_stm32f10x_ld_vl.s  
小容量的STM32F100xx

startup_stm32f10x_md.s    中容量的STM32F101xxSTM32F102xxSTM32F103xx
startup_stm32f10x_md_vl.s  
中容量的STM32F100xx
startup_stm32f10x_xl.s     FLASH
512K1024K字节STM32F101xx,STM32F102xx,STM32F103xx

其中大、中、小容量的区分如下图所示:

STM32学习笔记——使用函数库编程控制GPIO口输出

各型号名称辨识如下图所示:

STM32学习笔记——使用函数库编程控制GPIO口输出

个人所使用的芯片型号是STM32F103VBT6,所以是属于中等容量,所以选择的是”startup_stm32f10x_md.s”文件。

 

l       LWIB组则根据需要添加,由于要点亮led灯需要用到GPIO和时钟,所以添加了stm32f10x_gpio.c和stm32f10x_rcc.c两个文件,     在...\project\Libraries\STM32F10x_StdPeriph_Driver\src

l        根据需要修改“main.c”文件,也可自己创建空白文件,但需要包含#include "stm32f10x.h"代 码。

项目设置

   除了“学前准备”文中所需要的设置外,还需要设置的项有:

    GeneralOptions>Library Configuration项:

STM32学习笔记——使用函数库编程控制GPIO口输出


C/C++Compiler>Preprocessor项:

STM32学习笔记——使用函数库编程控制GPIO口输出

    OutputConverter项:

STM32学习笔记——使用函数库编程控制GPIO口输出
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值