ESP8266 特点之一:内置低功耗 32 位 CPU:可以兼作应⽤处理器。
ESP8266共有16个通用IO口,详细请看
GPIO寄存器表: ESP8266_GPIO_Register.xlsx
与引脚功能复⽤表: ESP8266_Pin_List.xlsx
GPIO是最基本的数字管脚了。还记得普通的单片机的入门教程---点亮LED吗?
先来看看e板上的LED灯
只要让GPIO4脚间隔输出高低电平,就会闪烁了。
手册有点不全面,详细请查看源码。
一:首先选择GPIO4管脚的复用功能为GPIO。
函数原型 PIN_FUNC_SELECT(PIN_NAME, FUNC)
GPIO4的PIN_NAME 宏定义为
#define PERIPHS_IO_MUX_GPIO4_U (PERIPHS_IO_MUX + 0x3C)
#define FUNC_GPIO4 0
#define FUNC_CLK_XTAL 1
从上面看到GPIO4有2个功能。
#define PERIPHS_IO_MUX 0x60000800
函数原型GPIO_OUTPUT_SET(gpio_no,bit_value)
宏定义为
#define GPIO_OUTPUT_SET(gpio_no, bit_value) \
gpio_output_conf(bit_value<
既可以输出高电平,也可以输出低电平。
三:修改入口函数内容
void user_init(void) { PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U,FUNC_GPIO4); while(1) { GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 1); delay_ms(500); GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 0); delay_ms(500); } }
四:编译后烧录,可以看到LED没秒闪烁一次了。这只是最简单GPIO的使用,UART, HSPI, SDIO/SPI, I2C, ADC_IN, GPIO16, PWM and IR TX/RX这些你也可以去体验下。