STM32-GPIO输入

来源:互联网 发布:莫知的意思是什么 编辑:程序博客网 时间:2024/06/11 20:09

  点亮LED灯的实验室利用的GPIO的输出配置来实现的,接下来写一个关于GPIO作为输入的程序,同时点亮和熄灭LED灯。由于程序简单,直接贴出代码,以供参考:

#include "stm32f10x.h"/**  * @brief  初始化GPIO,默认速度为GPIO_Speed_50MHz;  *           * @param  GPIO分组  * @param  GPIO引脚    * @param  GPIO引脚模式  * @retval None  */void GPIO_init(GPIO_TypeDef * GPIOx,u16 GPIO_Pin,GPIOMode_TypeDef Mode){    GPIO_InitTypeDef GPIO_InitStruct;                                           GPIO_InitStruct.GPIO_Mode=Mode;                             GPIO_InitStruct.GPIO_Pin=GPIO_Pin;    GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;    GPIO_Init(GPIOx,&GPIO_InitStruct);}int main(){                   u8 value;                RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);                RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);        GPIO_init(GPIOA,GPIO_Pin_0,GPIO_Mode_Out_PP);                GPIO_init(GPIOB,GPIO_Pin_8,GPIO_Mode_IPU);        while(1)                {                value=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8);                if(value)                        GPIO_SetBits(GPIOA,GPIO_Pin_0);                else                 GPIO_ResetBits(GPIOA,GPIO_Pin_0);                }}

和GPIO的输出不同的地方就是将PIN_Mode模式根据自己的硬件电路更改成相应的输入模式,上拉或者下拉。然后使用一个 GPIO_ReadInputDataBit()来获取指定IO组的指定管脚的电平。

原创粉丝点击