STM32F10x标准外设库及GPIO常用库

STM32F10x标准外设库

   STM32F10x标准外设库(固件库)是一个固件函数包,能够使得开发STM32变得比较简单(更简单的还是STM32CubeMX),其中每一个外设驱动都由一组函数组成,这组函数覆盖了该外设的所有功能,大体的意思还是让入门简单,当然这会带来亿点点问题。

缩写外设名称缩写外设名称
ADC模/数转换器I2S集成电路内置音频总线
BKP备份寄存器IWDG独立看门狗
CAN控制器局域网NVIC嵌套向量中断控制器
CRC循环冗余校验计算单元PWR电源控制
DAC数/模转换器RCC复位和时钟控制
DBGMCU微控制单元调试模块RTC实时时钟
DMA直接内存存取控制器SDIO安全数字输入输出接口
EXTI外部中断/事件控制器SPI串行外设接口
SysTick系统定时器FSMC灵活的静态接口存储器控制器
Flash闪存存储器TIM定时器
GPIO通用输入输出USART通用同步异步收发器
I2CIIC总线接口WWDG窗口看门狗

   假设joker表示一个外设接口,则:
   joker_Init:根据joker_InitTypeDef中指定的参数初始化外设
   joker_StructInit:将joker_InitTypeDef结构中的参数设为默认值
   joker_Cmd:使能或者失能外设
   joker_ITConfig:使能或失能外设的中断源
   joker_GetITStatus:判断外设中断发生与否
   joker_ClearITPendingBit:清除外设中断待处理标志位
   这几天发生了一些有趣的事情,无论是自作多情还是尝试,每一件事的发生与自身息息相关,果然,自作聪明的人是不会知道自己的愚蠢的,只能克己复礼,修身养性才是最为重要的事情,言归正传
   系统相关的源程序文件和头文件都以“stmf10x_”开头,如stm32f10x.h,其中有两个文件夹分别是LibrariesProject文件夹
   Libraries文件夹下的标准库和启动文件:
      1. core_cm3.ccore_cm3.h 分别是核内外设访问层(CPAL)的源文件和头文件
      2. stm32f10x.h 是设备外设访问层(DPAL)的头文件,包括了此系列全部的外设寄存器定义
      3. system_stm32f10x.csystem_stmf10x.h这两者分别是DPAL的源文件和头文件,其中包含了两个函数和一个全局变量,函数 SystemInit() 用来初始化系统时钟函数, SystemCoreClockUpdade() 用来更新系统时钟,当系统内核时钟出现变化后需执行该函数进行更新。全局变量SystemCoreClock 包含内核时钟(HCLK),方便用户在程序中定义SysTick定时器参数等
      4. startup_stm32f10x_X.s是用汇编写的系统启动文件,X代表不同型号的芯片。启动文件是处理器上电复位后首先需要运行的是使用汇编来搭建一个属于c语言的环境,大致过程:设置初始堆栈指针(SP);设置初始程序计数器(PC)为复位向量,并在执行main()函数 前调用SystemInit()初始化系统时钟;设置向量表为异常事件的入口地址;复位后处理器为线程模式,优先级为特权级,堆栈设置为MSP主堆栈。(这段好深奥,看不懂有没有)
      5. stm32f10x_joker.cstm32f10x_joker.h 分别为外设joker的源文件和头文件,其中包括了相关外设的初始化配置和部分功能应用
      6. misc.cmisc.h 提供了外设对内核中的嵌套向量中断控制器NCIC的访问函数,在配置中断时必须将这两个文件加到工程中。
   Project文件夹下是采用标准库的一些工程模板
      1. stm32f10x_it.cstm32f10x_it.h 是用来编写中断服务函数,其中定义了一些系统异常的接口,如需普通中断服务函数则需要自己添加。中断服务函数接口在启动文件中已经完成。
      2. stm32f10x_conf.h 文件是stm32f10x.h的子文件,用来配置使用了那些外设的头文件。

GPIO常用库函数
函数名功能
GPIO_DeInit将外设GPIOx寄存器重设为缺省值(默认选项(c))
GPIO_AFIODeInit将复用功能初始化
GPIO_Init根据GPIO_InitStruct 指定的参数初始化外设GPIOx寄存器
GPIO_StructInit将GPIO_InitStruct 指定的参数初始化
GPIO_ReadOutputDataBit读取指定端口引脚的输入
GPIO_ReadOutputData读取指定GPIO端口输入
GPIO_ReadOutputDataBit读取指定端口引脚的输出
GPIO_ReadOutputData读取指定GPIO端口输出
GPIO_SetBits设置指定的数据端口位
GPIO_ResetBIts清除(重置)指定的数据端口位
GPIO_WriteBit设置或清除指定的数据端口位
GPIO_Write向指定的GPIO数据端口写入数据
GPIO_PinLockConfig锁定GPIO引脚设置寄存器
GPIO_EventOutputConfig选择GPIO引脚用作时间输出
GPIO_EventOutputCmd使能或者失能事件输出
GPIO_PinRemapConfig改变指定引脚映射
GPIO_EXTILineConfig选择GPIO引脚作为外部中断线路
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值