功能综述
ESP8266 的 16 个通⽤ IO 的管脚位置和名称如下表所示。
管脚功能选择
功能选择寄存器 PERIPHS_IO_MUX_MTDI_U(不同的 GPIO,该寄存器不同)
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);
PERIPHS_IO_MUX_为前缀。后面的名字参照上图。
此处的 FUNC_GPIO12=3。
参照管脚清单。根据名字找到函数号码。FUNCTION3=3
GPIO功能在Function4,所以第二个参数是"3".
不同的 PIN 脚,配置不同。
关于 FUNCTION 需要注意的是,如果需要配置为 FUNCTION3,应该往寄存器对应的位中写 2,如果需要配置为 FUNCTION2,应该往寄存器对应的位中写 1,以此类推。
输出模式
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);
需要 MTDI 配置输出低电平,将该函数的第 2 个参数设置为 0 即可
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0);
输⼊模式
GPIO_DIS_OUTPUT(GPIO_ID_PIN(12));
获取管脚的电平状态
Uint8 level=0;
level=GPIO_INPUT_GET(GPIO_ID_PIN(12));