//配置GPIO端口工作模式函数
typedef struct
{
u8 Mode;//IO模式,GPIO_PullUp(准双向,若上拉),GPIO_HighZ(高阻输入),GPIO_OUT_OD(开漏输出),GPIO_OUT_PP(推挽输出,强上拉)
u8 Pin;//要设置的引脚
} GPIO_InitTypeDef;
void GPIO_Config(){
GPIO_InitTypeDef init;
//定义一个GPIO_InitTypeDef结构体类型的变量
//结构体成员有GPIO_Mode和GPIO_Pin,分别是端口工作模式和引脚编号
init.Mode = GPIO_PullUp;
init.Pin = GPIO_Pin_0;
GPIO_Inilize(GPIO_P0,&init);
//初始化函数的两个参数分别是端口号和结构体变量
}
GPIO:通用型输入输出
STC8位单片机的每个引脚都有四种工作模式,分别是
工作模式 | PnM1 | PnM0 | 说明 |
准双向(弱上拉) | 0 | 0 | 即可输入也可输出,灌电流可达20mA,拉电流为270~150uA |
推挽输出(强上拉) | 0 | 1 | 可达20mA,要加限流电阻 |
高阻输入 | 1 | 0 | 电流既不能流入,也不能流出,但可用于测电平 |
开漏输出 | 1 | 1 | 漏模式既可读外部状态也可对外输出,如要正确读外部状态或需要对外输出高电平,需外加上拉电阻 |
若想要使用引脚,则至少有三个8位寄存器搭配工作,两个配置寄存器,一个数据寄存器