STM32——输出、输入控制
系统框架图⚡️
**解说 :**由于引脚都包含在APB2总线上,所以需要打开APB2上的时钟开关。即使能。
输出控制⚡️
void GPIO_OUTPUT_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//声明结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//打开APB2中的GPIOB时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //选择引脚 Pin_0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;//选择输出模式 推挽输出
GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz //选择时钟频率
GPIO_Init(GPIOB,&GPIO_InitStructure);//将上面编辑的结构体中的参数写入函数中
}
1️⃣ :上方主要时钟函数为:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
- 在后边的实验中当要使用到APB2中的资源时需要用到此函数(对应的APB2的资源可以在上方的系统框图中查看) 😄
2️⃣ : 上方主要的初始化函数:GPIO_Init(GPIOB,&GPIO_InitStructure);
- 将上方定义的结构体参数,通过本函数写入 😄
3️⃣ :后面大家将会发现利用库函数各个资源的初始化会有一定的相似
输入控制⚡️
void GPIO_INPUT_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//声明结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//打开APB2中的GPIOA时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //选择引脚 Pin_0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;//选择输出模式 推挽输出
/* 输入引脚不需要时钟 */
# GPIO_Init(GPIOA,&GPIO_InitStructure);//将上面编辑的结构体中的参数写入函数中
}
- 输入和输出的类似,但不用选择时钟速度。
到此GPIO输入输出就讲完了😃
有表达的不对的,或是需要补充的也欢迎大家提出指正😄
大家一同学习(我也是小白,正在学习过程中…)⚡️
- 实验平台:野火stm32——指南者。