库函数的使用

学了一周多的STM32,从最开始的点亮一盏灯到中断定时的使用,发现对于ST库使用的一些使用方法,现作一小结:

 

1、初始化结构体

     a、定义一个xxxInitTypeDef 类型的结构体,比如GPIOInitTypeDef类型的GPIOInitStructure用来配置GPIO;

     b、根据所使用的要求向这些结构体的成员中写入特定的控制参数,如GPIO_initStructure.GPIO_Pin=GPIO_Pin_13;

     c、将结构体作为输入参数调用相应的外设库函数xxxInit(),实现向寄存器写入控制参数;

 

2、数据的输入与输出

     a、先通过输入参数向函数制定要使用的外设是什么,比如用(GPIOA,GPIOPin5),选中PA5引脚进行控制;

     b、进行写或者读数据操作,例如函数GPIO_WriteBit(GPIOA, u16 GPIO_Pin5, Bit_RESE) ,是对PA5进行写1操作;

     c、如果是接收外部数据,则调用Read或Receive函数,读取函数返回值来得到外部输入数据。

 

3、状态位、标志位

      在程序运行的过程中当我们需要知道一些外设的工作状态的时候,那么就会涉及一系列的标志检查函数:

      a、名为 PPP_GetFlagStatus的函数,其功能为检查外设 PPP某标志位被设置与否,例如:TIM_ GetFlagStatus ;

      b、名为 PPP_ClearFlag 的函数,其功能为清除外设 PPP标志位,例如:TIM_ ClearFlag ;

      c、名为 PPP_GetITStatus 的函数,其功能为判断来自外设 PPP的中断发生与否,例如:TIM_ GetITStatus ; 

      d、名为 PPP_ClearITPendingBit 的函数,其功能为清除外设 PPP 中断待处理标志位,例如:TIM_ ClearITPendingBit 。

 

总结:

      ST官方库有许多共同特点,在此对外设主要的共同函数进行一个简单的分类总结:

 

函数名功能输入参数返回值
XXXInit()对外设进行初始化

XXXinirTypeDef类型结构体

void

XXXDeInit()

以系统默认形式初始化外设将要进行初始化的外设名void

XXXStructInit()

以默认的数据填充初始化结构体将要进行默认填充的XXXInitTypeDef类型结构体void

XXXSendData()

使用外设发送数据

XXX相应的外设名;将要发送的数据

void

XXXReceiveData()

获取外设接收到的数据

XXX相应的外设名

返回接收到的数据

XXX_ GetFlagStatus ()

检测外设事件标志位要检查的时间标志名SET或RESET

XXX_ GetITStatus ()

检查中断标志要检查的中断标志名SET或RESET

XXX_ ClearFlag ()

清除事件标志位要清除的事件标志名void

XXX_ ClearITPendingBit ()

清除挂起的中断标志位要检测的中断标志名void

XXX_ITConfig ()

设置外设的中断XXX相应得外设;选择开启外设的某中断void

XXX_Cmd ()

使能或失能外设配置外设名;ENABLE或DISABLEvoid

XXX_ DMACmd ()

配置外是否可使用DMA请求配置外设名;选择要配置的DMA请求;ENABLE或DISABLEvoid

 

 

 

转载于:https://www.cnblogs.com/lwangj/p/5129572.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值