STM32 库函数 初学笔记

  • 寄存器结构体定义

 

偏移量:4字节,因此用unsigned int声明结构体内每个元素。定义GPIOB为以GPIOB_BASE为基址的结构体指针。

  • 编写库函数

编写库函数文件:

main函数中调用:

 

  • 构建库函数雏形

 

 参照下表:

 

main()中:

  • STM32固件库文件分析

  • GPIO_ReadOutputDataBit

函数解释:读取io输出管脚的值

参数: (1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。

            (2)  GPIO_Pin:指定具体的io脚,如GPIO_Pin_0,GPIO_Pin_1这样的宏定义。

返回值:输出管脚的值 Bit_SET(高电平),Bit_RESET(低电平)

  • GPIO_WriteBit(GPIO_TypeDef* GPIOx,uint16_t  GPIO_Pin,BitActionBitVal)

函数解释:对某一位进行写入操作。

参数: (1)GPIOx,GPIO的分组,如 GPIOA,GPIOB,GPIOC等的宏定义。

            (2)GPIO_Pin:指定具体的io脚,如GPIO_Pin_0,GPIO_Pin_1这样的宏定义。

            (3)BitVal:写入高电平或者低电平(Bit_RESET:写入低电平 Bit_SET:写入高电平)

  • (BitAction)

BitAction是将操作对象转换为位域的意思。
如果操作对象本身就是位变量,加不加没什么区别;可如果操作对象是8/16或32位的时候,则是有区别的。

IO翻转操作:

GPIO_WriteBit(GPIOB, GPIO_Pin_5, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5)));

 

 

posted on 2020-07-03 16:54  谢嘉敏  阅读(1050)  评论(0编辑  收藏  举报

导航