http://blog.csdn.net/lpp0900320123/article/details/27212945 2014 stm32端口有8中工作模式,4中输入(上拉、下拉、浮空、模拟输入),4中输出(开漏、推免、开漏复用、推免复用),具体8中工作模式区别可以参考博文:http://blog.csdn.net/lpp0900320123/article/details/27208911 问题:点亮开发板上的一个LED灯,0点亮,1熄灭;LED灯连接GPIOC的第3个管脚; 需要以下步骤: (1)开启外设时钟 (2)配置管脚的输入输出方式 (3)设置管脚的电平 1.开启外设时钟 stm32的外设默认时钟源是关闭的,当用到相应的外设,再开启相应的外设的时钟,这样可以降低功耗;首先应该查看外设挂在哪条总线上,再调用相应的时钟函数,可以通过查看库帮助手册去查看总线上挂的相应的外设; void RCC_AHBPeriphClockCmd ( uint32_t RCC_AHBPeriph, FunctionalState NewState ) 上面三个函数分别开启AHB、APB1、APB2 总线时钟。GPIOC挂在APB2总线上,所以需要APB2总线时钟。 RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOC,ENABLE); 2.配置管脚的输入输出方式 st库通过函数GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); 实现GPIO管脚的工作方式的配置,这里有一个自定义的数据类型GPIO_InitTypeDef,被封装成结构体了。 typedef struct
下面是代码实现: GPIO_InitTypeDef GPIO_InitStruct;
//定义结构体变量 3.设置管脚的电平 设置管脚的电平的函数很多: void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 可以查库的帮助手册,来了解这些函数的使用方法。 点亮LED: GPIO_ResetBits(GPIOC,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5); |
|
来自: 心不留意外尘 > 《ST driver》