TA的每日心情 | 无聊 2020-7-7 14:50 |
---|
签到天数: 284 天 连续签到: 1 天 [LV.8]以坛为家I
|
本帖最后由 xinchao 于 2017-7-4 17:36 编辑
拿到开发板有段时间了,只上电测试了下DEMO。今天拿出来写个小程序,学习一下8266的开发流程。
开发环境
官方文档里的开发环境要用虚拟机在Linux下用命令行来编译。试了下,比较麻烦。。。不够直观。
后来用了安信可的ESP8266IDE,AITHINKER-ESP8266-SDK-v2.0(百度一搜就能找到下载地址),配置好的Eclipse平台,一解压就能用,很方便。
写了个非常简单的程序,控制RGB灯和串口,代码如下:
#include "ets_sys.h"
#include "osapi.h"
#include "user_interface.h"
#include "driver/uart.h"
#include "gpio.h"
void delay_ms(uint16 x)
{
for(;x>0;x--)
{
os_delay_us(1000);
}
}
void user_init(void)
{
uart_init(BIT_RATE_74880,BIT_RATE_74880);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U,FUNC_GPIO4); //设置为普通模式
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12); //设置为普通模式
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U,FUNC_GPIO14); //设置为普通模式
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15); //设置为普通模式
GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 1); //设置为输出模式
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1); //设置为输出模式
GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 1); //设置为输出模式
GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 1); //设置为输出模式
uart_sendString("\r\nHello! XinChao's first ESP8266 Program!\r\n");
while(1)
{
GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0);GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 1);GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 0); uart_sendString("R ");
delay_ms(500);
GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 0);GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);GPIO_OUTPUT_SET(GPIO_ID_PIN(4), 1); uart_sendString("G ");
delay_ms(500);
GPIO_OUTPUT_SET(GPIO_ID_PIN(14), 0);GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 1); uart_sendString("B\r\n");
delay_ms(500);
}
}
“构建项目”后根据控制台的提示,把编译好的文件写入开发板相应的地址,程序就能运行了。
开发板固件烧写工具FLASH_DOWNLOAD_TOOLS_v2.4配置如下:
运行演示
红绿蓝三色交替闪烁。
同时串口输出信息。
工程源码
工程代码F-8266-Led.zip
(2.81 MB, 下载次数: 11)
|
|