initstru.c

 
v 通过引脚 GPIO_PinAFConfigO将其连接到相应的复用功能 、 通过函数 GPIO_InitStruct->GPIO_Mode = GPIO_Mode_AF 配置为复用模式、 通过 GPIO_PuPd, GPIO_OType 和 GPIO_Speed选择上拉下拉,类型和速度 094 GPIO_InitO 通过函数GPIO_ReadlnputDataBit()读取输入数据寄存器的数据 > 在输出模式时,通过函数 GPIO_SetBitsO)/GPIO_ResetBits0配置引脚的置位和复位系统复位后,复用功能是被禁止的,引脚默认被配置成浮空输入模式(除了JTAG 引脚 LSE 振荡器引脚 OSC32_IN/OSC32_OUT 可以分别用做GPIO 的PC14/PC15,条件是LSE 振荡器功能被关闭,LSE 振荡器功能始終优先于通用1/0 口的功能。 > HSE 振荡器引脚 OSC_IN/OSC_OUT 可以分别用做GPIO 的 PHO/PH1,条件是 HSE 振荡器功能被关闭,LSE 振荡器功能始终优先于通用1/0 口的功能。 .1.6 GPIO 库的功能配置函数 GPIO 的初始化和配置函数主要有以下几个: void GPIO_Delnit(GPIO. _ TypeDef* GPIOx) 初始化 GPIO 寄存器到默认的复位值,参数中GPIOx为结构体指针变量针对特定的引脚,通过下面的函数实现 void GPIO_Init(GPIO_ TypeDef* GPIOx, GPIO_ _Init TypeDef* GPIO_InitStru 这个函数主要实现 GPIO 的初始化,stm32f4xx_gpio.c 文件里面最主要! 函数了,举个简单的例子,有兴趣的可以研究下这个函数的具体代码。配 18 推挽输出,速度 100MHz。 /* GPIOG Periph clock enable */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); /* Configure PG6 and PG8 in output pushpull mode */ GPIO InitStructure. GPIO _Pin= GPIO_Pin_6| GPIO_Pin_8; GPIO InitStructure. GPIO _Mode = GPIO_ Mode_OUT; GPIO_InitStructure. GPIO_OType = GPIO_OType_PP; GPIO_ InitStructure. GPIO_Speed = GPIO_Speed_100MHz; GPIO _InitStructure. GPIO_PuPd = GPIO. _PuPd _NOPULL; GPIO_Init(GPIOG, &GPIO_InitStructure); void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct) 这个函数将 GPIO_InitStructure 作为参数传递到配置结构体,然后在该函数内部实现了相应寄存器的配置。一行一行解释以上代码
最新发布
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值