一、概述
ESP8266是由乐鑫公司出品的一款物联网芯片,因为价格较低,性能稳定等收到很大关注。该芯片可工作于三种种模式下,分别是:AP模式,station模式以及混合模式,通过常用的AT指令进行控制。自芯片面世以来发行过多种型号。单单我用过的就有ESP8266-01,ESP8266-12F,ESP8266-12E这三种。当然,我没接触到过的型号还有很多。在使用这三种芯片时均是使其工作在AP模式下。所以,就拿这三个型号说一下ESP8266在AP模式下的配置吧(AP模式下通信协议为TCP,也就是说AP模式下的ESP8266相当于一个TCP服务器)
智能电源插头
家庭自动化
网状网络
工业⽆无线控制
婴儿监控器
网络摄像机
传感器网络
可穿戴电子产品
无线位置感知设备
安全ID标签
无线定位系统信号
ESP8266共有两组UART接⼝,分别为:
UART0:
U0TXD: pin26(U0TXD)
U0RXD: pin25(U0RXD)
U0CTS: pin12(MTCK)
U0RTS: pin13(MTDO)
UART1:
U1TXD: pin14(GPIO2)
UART0作为数据通信接⼝口,UART1作为debug信息的打印。不过在最新发布的SDK1.0.1中,debug信息的默认打印也改到通过UART0接口了,可以直接利用os_printf()进行信息输出。当你想通过UART1输出debug信息时,通过以下接⼝可以设置从uart0或者uart1口输出打印。void UART_SetPrintPort(uint8 uart_no);
由于ESP8266的开发环境没有在线调试功能,所以利用os_printf()进行信息输出在程序调试过程中尤为重要。
串口发送举例
www.tansoo.cn
*/
#include 《ets_sys.h》
#include 《osapi.h》
#include 《os_type.h》
#include 《gpio.h》
#include “driver/uart.h”
LOCAL void ICACHE_FLASH_ATTR hello_cb(void *arg)
{
os_printf(“Hello World!\r\n”);
}
void user_init(void)
{
// 设置 UART0与UART1的通讯速率
uart_init(BIT_RATE_115200, BIT_RATE_115200);
//UART_SetPrintPort(UART1); // SDK V1.0.1 有效;
// 取消(停止)定时器hello_TImer
os_timer_disarm(&hello_timer);
// 将时间定时器变量hello_timer关联到一个函数hello_cb(),这个函数会在到达定时时间时执行一次,
os_timer_setfn(&hello_timer, (os_timer_func_t *)hello_cb, (void *)0);
// 设置时间定时器变量hello_timer的时间周期为3秒钏,第三个参数为0时,hello_cb()只会执行一次,当为1时,hello_cb()会循环执行。
os_timer_arm(&hello_timer, 3000, 1);