ESP8266开发常用函数

设置波特率:

uart_init(uart0_br, uart1_br)  //uart0_br - 串口0波特率
                               //uart1_br - 串口1波特率

串口打印字符串:

os_prnitf("Hello World!");      //默认串口0,波特率74880
uart0_sendStr("Hello World!");  //串口初始化后可用,波特率为初始化值

延时函数:

os_delay_us(xus);  //xus - 要延时的时间,单位微秒

设置看门狗:

system_soft_wdt_feed();  //软件喂狗

GPIO输出设置:

//选择GPIO功能
PIN_FUNC_SELECT(PIN_NAME, FUNC);     //PIN_NAME - 引脚名
                                     //FUNC - 功能
//设置GPIO输出状态
GPIO_OUTPUT_SET(gpio_no, bit_value)  //gpio_no - 引脚号
                                     //bit_value - 输出值 0/1

GPIO输入设置:

//选择GPIO功能
PIN_FUNC_SELECT(PIN_NAME, FUNC);     //PIN_NAME - 引脚名
                                     //FUNC - 功能
//禁用GPIO输出
GPIO_DIS_OUTPUT(gpio_no);            //gpio_no - 引脚号
//启用内置上拉电阻
PIN_PULLUP_EN(PIN_NAME);             //PIN_NAME - 引脚名
//获取GPIO状态
GPIO_INPUT_GET(gpio_no);             //gpio_no - 引脚号

GPIO外部中断:

//选择GPIO功能
PIN_FUNC_SELECT(PIN_NAME, FUNC);     //PIN_NAME - 引脚名
                                     //FUNC - 功能
//禁用GPIO输出
GPIO_DIS_OUTPUT(gpio_no);            //gpio_no - 引脚号
 
//关闭GPIO中断
ETS_GPIO_INTR_DISABLE();
//注册GPIO中断处理理函数
ETS_GPIO_INTR_ATTACH(func, arg);     //func - 中断处理函数名
//设置GPIO中断触发状态
gpio_pin_intr_state_set(gpio_no, intr_state);  //gpio_no - 引脚号
                                               //intr_state - 触发方式
//开启GPIO中断
ETS_GPIO_INTR_ENABLE();
 
//在中断函数中清除中断状态
uint32 gpio_status;
gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS);
GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, gpio_status);

常用引脚名:

PERIPHS_IO_MUX_GPIO0_U
PERIPHS_IO_MUX_FUNC
PERIPHS_IO_MUX_OE
PERIPHS_IO_MUX_MTDI_U
PERIPHS_IO_MUX_MTMS_U
...

常用引脚号:

GPIO_ID_PIN(1)
GPIO_ID_PIN(2)
GPIO_ID_PIN(3)
GPIO_ID_PIN(4)
GPIO_ID_PIN(5)
...
posted @ 2020-04-03 13:54  c4y345  阅读(1145)  评论(0编辑  收藏  举报