• 引脚的初始化
    **(1)**GPIO_InitTypeDef GPIO_InitStructure---------语句定义了一个GPIO_InitTypeDef类型的变量,名为GPIO_InitStructure。

**(2)**GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4------------------此句是一个赋值语句,把GPIO_Pin_4赋给GPIO_InitStructure结构体中的成员GPIO_Pin。

** 注意::**GPIO_InitTypeDef是一个结构体类型同义字,其功能是定义一个结构体,该结构体有三个成员分别是u16类型的GPIO_Pin、GPIOSpeed_TypeDef 类型的GPIO_Speed和GPIOMode_TypeDef 类型的GPIO_Mode。
所以,这三行代码的意思是
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
对结构体中的三个成员进行赋值(个人理解,不知道对错)
**总结::**该行定义一个结构体类型的变量GPIO_InitStructure,并且该结构体有3个成员,分别为GPIO_Pin、GPIO_Speed和GPIO_Mode,并且GPIO_Pin表示GPIO设备引脚GPIO_Speed表示GPIO设备速率和GPIO_Mode表示GPIO设备工作模式。

(3) GPIO_Init(GPIOB , &GPIO_InitStructure);------------是一个函数调用,即调用GPIO_Init函数,并提供给该函数2个参数,分别为GPIOB和&GPIO_InitStructure,其中&GPIO_InitStructure表示结构体变量GPIO_InitStructure的地址。(个人简单理解为把结构体中的三个成员进行传值到GPIOB,所以GPIOB中的引脚一被设置为 GPIO_Mode_IPD、GPIO_Speed_50MHz)

参考了文章:https://blog.csdn.net/qq_41072096/article/details/107186628

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐