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)
...
相關文章
相關標籤/搜索