菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
411
0

STM32 库函数 初学笔记

原创
05/13 14:22
阅读数 19719
  • 寄存器结构体定义

 

偏移量: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)));

 

 

发表评论

0/200
411 点赞
0 评论
收藏
为你推荐 换一批