乐鑫官方对该芯片的开发提供了详细的资料和工具供开发者使用,可以参考《ESP8266 SDK ⼊⻔指南》,《ESP8266 Non-OS SDK API 参考》,也可参考安信可相关资料。
一、SDK介绍
乐鑫官方提供了两种SDK共开发者使用,
Non-SDK:主要使用定时器和回调函数的方式实现各个功能事件的嵌套,达到特定条件下出发特定功能函数的目的。
RTOS SDK:基于FreeRTOS兼容Non-SDK中的基本外设接口。
二、硬件介绍
ESP-12F
ESP8266+25Q32 4MByte
三、工具集
乐鑫官方提供了虚拟机LINUX镜像用于程序的编译及下载工具用于下载固件,串口调试工具用于调试AT指令。
具体编译下载使用方法请查看《入门指南》。
下面详细讲讲SDK中功能实现,SDK中API没有把源代码提供出来,只能通过查看ESP8266 Non-OS SDK API参考。
应用直接写到 user_init()
定时循环任务通过定时器 回调函数实现
LOCAL void ICACHE_FLASH_ATTR flh_led(void)
{ //回调函数 实现gpio2 300ms 闪烁
if (cn)
{
cn = 0;
gpio_output_set(0,BIT2,BIT2,0);
os_printf("\r\n 0 \r\n");
}
else
{
cn = 1;
gpio_output_set(BIT2,0,BIT2,0);
os_printf("\r\n 1 \r\n");
}
}
void led_test(void)
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U,FUNC_GPIO2);
os_timer_disarm(&ssdp_time_serv);
os_timer_setfn(&ssdp_time_serv, (os_timer_func_t *)flh_led, NULL);
os_timer_arm(&ssdp_time_serv, 300, 1);//1s
}