您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > GPIO库函数配置方法-跑马灯实验
GPIO库函数配置方法函数分布文件:-stm32f10x_gpio.c-stm32f10x_gpio.hGPIO输入输出配置重要函数:voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);uint8_tGPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);uint16_tGPIO_ReadInputData(GPIO_TypeDef*GPIOx);uint8_tGPIO_ReadOutputDataBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);uint16_tGPIO_ReadOutputData(GPIO_TypeDef*GPIOx);voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_WriteBit(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin,BitActionBitVal);voidGPIO_Write(GPIO_TypeDef*GPIOx,uint16_tPortVal);GPIO_Init()函数:函数原型:voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);作用:初始化GPIO的模式和速度,也就是设置相应的GPIO寄存器的CRH和CRL值。第一个输入参数是GPIO_TypeDef类型指针变量,确定是哪个GPIO,取值范围:GPIOA,GPIOB,GPIOC,GPIOD,GPIOE,GPIOF,GPIOG第二个参数是GPIO_InitTypeDef类型指针变量,确定GPIOx的对应的引脚以及引脚的模式和输出最大速度。typedefstruct{uint16_tGPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;}GPIO_InitTypeDef;1)第一个参数GPIO_Pin确定初始化那些管脚,取值范围为:GPIO_Pin_0~GPIO_Pin_15以及GPIO_Pin_All2)第二个参数GPIO_Speed确定初始化的IO的最大输出速度,其取值范围为枚举类型GPIOSpeed_TypeDef的枚举值:typedefenum{GPIO_Speed_10MHz=1,GPIO_Speed_2MHz,GPIO_Speed_50MHz}GPIOSpeed_TypeDef;3)第三个参数GPIO_Mode;确定初始化的IO的输入输出模式,其取值范围为枚举类型GPIOMode_TypeDef的枚举值:typedefenum{GPIO_Mode_AIN=0x0,//模拟输入GPIO_Mode_IN_FLOATING=0x04,//浮空输入GPIO_Mode_IPD=0x28,//下拉输入GPIO_Mode_IPU=0x48,//上拉输入GPIO_Mode_Out_OD=0x14,//开漏输出GPIO_Mode_Out_PP=0x10,//通用推挽输出GPIO_Mode_AF_OD=0x1C,//复用开漏输出GPIO_Mode_AF_PP=0x18//复用推挽}GPIOMode_TypeDef;函数使用范例:GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;//PB.5端口配置GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//速度50MHzGPIO_Init(GPIOB,&GPIO_InitStructure);//根据设定参数配置GPIOB.5
本文标题:GPIO库函数配置方法-跑马灯实验
链接地址:https://www.777doc.com/doc-4084350 .html