STM32库函数功能详解
STM32库函数简介
一、通用输入/输出(GPIO)--------------------------------------------------------------------------------------------3 二、外部中断/事件控制器(EXTI)-----------------------------------------------------------------------------------7 三、通用定时器(TIM)-------------------------------------------------------------------------------------------------9 四:ADC寄存器------------------------------------------------------------------------25 五:备份寄存器(BKP)-------------------------------------------------------------------------------------------------33 六、DMA控制器(DMA)---------------------------------------------------------------37 七、复位和时钟设置(RCC)------------------------------------------------------------------------------------------41
八、嵌套向量中断控制器(NVIC)-----------------------------------------------------------------------------------49
命名规则
1
在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。
名为PPP_Init的函数,其功能是根据PPP_InitTypeDef中指定的参数,初始化外设PPP,例如TIM_Init.
名为PPP_DeInit的函数,其功能为复位外设PPP的所有寄存器至缺省值,例如TIM_DeInit.
名为PPP_StructInit的函数,其功能为通过设置PPP_InitTypeDef 结构中的各种参数来定义外设的功能,例如:USART_StructInit
名为PPP_Cmd的函数,其功能为使能或者失能外设PPP,例如: SPI_Cmd.
名为PPP_ITConfig的函数,其功能为使能或者失能来自外设PPP某中断源,例如: RCC_ITConfig.
名为PPP_DMAConfig的函数,其功能为使能或者失能外设PPP的DMA接口,例如:TIM1_DMAConfig. 用以配置外设功能的函数,总是以字符串“Config”结尾,例如GPIO_PinRemapConfig.
名为PPP_GetFlagStatus的函数,其功能为检查外设PPP某标志位被设置与否,例如:I2C_GetFlagStatus.
名为PPP_ClearFlag的函数,其功能为清除外设PPP标志位,例如:I2C_ClearFlag.
名为PPP_GetITStatus的函数,其功能为判断来自外设PPP的中断发生与否,例如:I2C_GetITStatus.
名为PPP_ClearITPendingBit的函数,其功能为清除外设PPP中断待处理标志位,例如: I2C_ClearITPendingBit.
typedef signed long s32; typedef signed short s16; typedef signed char s8;
typedef signed long const sc32; /* Read Only */ typedef signed short const sc16; /* Read Only */ typedef signed char const sc8; /* Read Only */ typedef volatile signed long vs32; typedef volatile signed short vs16; typedef volatile signed char vs8;
typedef volatile signed long const vsc32; /* Read Only */ typedef volatile signed short const vsc16; /* Read Only */ typedef volatile signed char const vsc8; /* Read Only */ typedef unsigned long u32; typedef unsigned short u16; typedef unsigned char u8;
typedef unsigned long const uc32; /* Read Only */ typedef unsigned short const uc16; /* Read Only */ typedef unsigned char const uc8; /* Read Only */ typedef volatile unsigned long vu32; typedef volatile unsigned short vu16; typedef volatile unsigned char vu8;
typedef volatile unsigned long const vuc32; /* Read Only */ typedef volatile unsigned short const vuc16; /* Read Only */ typedef volatile unsigned char const vuc8; /* Read Only */
一、通用输入/输出(GPIO)
2
GPIO寄存器结构
GPIO_TypeDef和AFIO_TypeDef,在文件“stm32f10x_map.h”中定义如下:
typedef struct {
vu32 CRL; vu32 CRH; vu32 IDR; vu32 ODR; vu32 BSRR; vu32 BRR; vu32 LCKR; }
GPIO_TypeDef; typedef struct {
vu32 EVCR; vu32 MAPR;
vu32 EXTICR[4]; }
AFIO_TypeDef;
GPIO库函数
1 函数GPIO_DeInit
功能描述:将外设GPIOx寄存器重设为缺省值 例:
GPIO_DeInit(GPIOA);
2 函数GPIO_AFIODeInit
功能描述:将复用功能(重映射事件控制和EXTI设置)重设为缺省值 例:
GPIO_AFIODeInit();
3 函数GPIO_Init
功能描述:根据GPIO_InitStruct中指定的参数初始化外设GPIOx寄存器 例:
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitTypeDef structure
3
GPIO_InitTypeDef定义于文件“stm32f10x_gpio.h”:
typedef struct {
u16 GPIO_Pin;
GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; }
GPIO_InitTypeDef;
GPIO_Pin
该参数选择待设置的GPIO管脚,使用操作符“|”可以一次选中多个管脚。可以使用下表中的任意组合。 GPIO_Pin_None:无管脚被选中 GPIO_Pin_x:选中管脚x(0--15) GPIO_Pin_All:选中全部管脚
GPIO_Speed
GPIO_Speed:用以设置选中管脚的速率。 GPIO_Speed_10MHz:最高输出速率10MHz GPIO_Speed_2MHz:最高输出速率2MHz GPIO_Speed_50MHz:最高输出速率50MHz
GPIO_Mode
GPIO_Mode:用以设置选中管脚的工作状态。 GPIO_Mode_AIN:模拟输入
GPIO_Mode_IN_FLOATING:浮空输入 GPIO_Mode_IPD:下拉输入 GPIO_Mode_IPU:上拉输入 GPIO_Mode_Out_OD:开漏输出 GPIO_Mode_Out_PP:推挽输出
GPIO_Mode_AF_OD:复用开漏输出 GPIO_Mode_AF_PP:复用推挽输出
4 函数GPIO_StructInit
功能描述:把GPIO_InitStruct中的每一个参数按缺省值填入 例:
GPIO_InitTypeDef GPIO_InitStructure; GPIO_StructInit(&GPIO_InitStructure);
GPIO_InitStruct:
GPIO_Pin:GPIO_Pin_All
GPIO_Speed:GPIO_Speed_2MHz
GPIO_Mode:GPIO_Mode_IN_FLOATING
5 函数GPIO_ReadInputDataBit
功能描述:读取指定端口管脚的输入 例:
u8 ReadValue;
ReadValue = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7);
6 函数GPIO_ReadInputData
功能描述:读取指定的GPIO端口输入 例:
4
u16 ReadValue;
ReadValue = GPIO_ReadInputData(GPIOC);
…… 此处隐藏:3183字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




