您的位置 首页 模拟

STM32 GPIO 装备

固件库V3.5IAR/********************************************************************************函数名称:GPIO

固件库 V3.5 IAR

/*******************************************************************************
* 函数称号: GPIO_Configuration
* 函数功用: 设置各GPIO端口功用
* 参数变量: NONE
* 全局变量: NONE
* 调用函数:
* 修正时刻:
* 版 本: V1.0
* 状 态:调试完结
*******************************************************************************/
void GPIO_Configuration(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|
RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|
RCC_APB2Periph_GPIOE|
RCC_APB2Periph_GPIOF, ENABLE); //开一切IO时钟
/******************I0 A ***************************/
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_5|GPIO_Pin_9; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO形式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 输出速度
GPIO_Init(GPIOA,&GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_10; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//浮空输入
GPIO_Init(GPIOA,&GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

/******************I0 B ***************************/
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_5|
GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_15; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO形式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 输出速度
GPIO_Init(GPIOB, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_11|GPIO_Pin_14; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//浮空输入
GPIO_Init(GPIOB, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化
/******************I0 C ***************************/
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_4|
GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|
GPIO_Pin_11|GPIO_Pin_12; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO形式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 输出速度
GPIO_Init(GPIOC, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;//上拉输入
GPIO_Init(GPIOC, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_3; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;//浮空输入
GPIO_Init(GPIOC, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化
/******************I0 D ***************************/
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_4|
GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|
GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO形式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 输出速度
GPIO_Init(GPIOD, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_2; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;//上拉输入
GPIO_Init(GPIOD, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化
/******************I0 E ***************************/
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4||GPIO_Pin_5; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO形式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 输出速度
GPIO_Init(GPIOE, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_13; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ;//上拉输入
GPIO_Init(GPIOE, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化

/******************I0 F ***************************///开发板资源
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//IO形式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO 输出速度
GPIO_Init(GPIOF, &GPIO_InitStructure); //运用的LED灯相关的GPIO口初始化
GPIO_SetBits(GPIOF,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);//封闭一切的LED指示灯

/*****************ADC IO 口***************/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_6;//挑选IO 口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//IO 形式设置
GPIO_Init(GPIOA, &GPIO_InitStructure);//写入 初始化值
/*****************I2C 口***************/
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7; //挑选IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;//复用I2C 设置 输出形式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;//IO 输出速度
GPIO_Init(GPIOB, &GPIO_InitStructure); //

}

GPIO_ResetBits(GPIOF,GPIO_Pin_9);//GPIOF_9 =0;
GPIO_SetBits(GPIOF,GPIO_Pin_9); //GPIOF_9 =1;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/252338.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部