- 宏定义 #define ABC 123。 #typedef unsigned char unit_8;
- 结构体 struct{ char x; int y; float z; } c;
- 枚举 enum{monday=1; tuesday, wendnesday} week; //看做宏定义的集合体。=====>c语言基础
- 推挽输出通过内置的上拉和下拉晶体管控制引脚电平。当程序要求输出高电平时,上拉晶体管将引脚拉至电源电压(3.3V);当程序要求输出低电平时,下拉晶体管将引脚拉至地电压(0V)==>硬件基础
==>>以此为基础,在stm32的GPIO引脚的设置中,参考(GPIO 设置五步法:开启 GPIO 时钟,定义并初始化结构体变量,设置结构体参数,调用初始化函数,设置引脚电平)步骤
==>>
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
// 解释:GPIO属于较高速外设接口,挂载在APB2总线上;这里将GPIOA 的时钟开启。
GPIO_InitTypeDef GPIO_InitStructure;
//初始化。解释:GPIO_InitTypeDef为结构体类型的宏定义。这里将变量GPIO_InitStructure定义为包含配置信息的结构体。
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//对配置信息进行赋值。推挽输出,引脚为1和2,速度为50MHZ。
GPIO_Init(GPIOA, &GPIO_InitStructure);
//应用到端口 GPIOA
GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);
//设置PA1和PA2引脚为高电平。(ResetBits设置为低电平,WriteBit指定电平等等)