sdk 如何从串口发数据到网口_ESP8266之SDK开发教程-第二讲

第二讲.开始使用按键点亮你的"第一个LED"

作者:电子快递哥

日期:于2020年3月18日

有态度,有温度,欢迎关注电子快递哥,转载请注明出处,

关注电子快递哥,一起学习后续教程,关注+转发,私信免费索取源码

2.1,打开乐鑫的SDK技术文档https://www.espressif.com/zh-hans/support/download/documents,

e8c5bed171ddba8257e1eec98f8f4fb3.png

2.2,我们搜索下管脚GPIO的相关设置:

254ab6cf90bc7564c4ac4ae3498b3901.png
e1232e7ca68b3010773dc69b7bdc5e25.png

2.3,例程使用GPIO12连接LED,GPIO13连接按键,主程序如下:

void ICACHE_FLASH_ATTR

user_init(void)

{

uint8 bz=0;

uart_init(115200, 115200);//设置串口0和串口1的波特率

PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);//选择GPIO12

GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12为高

PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U ,FUNC_GPIO13);//选择GPIO13

GPIO_DIS_OUTPUT(GPIO_ID_PIN(13)) ; // 设置GPIO13为输入

while(1)

{

system_soft_wdt_feed();//这里我们喂下看门狗 ,不让看门狗复位

if(GPIO_INPUT_GET(GPIO_ID_PIN(13))==0x00)//读取GPIO13的值,按键按下为0

{

delay_ms(20); //延时20MS,去抖

if(GPIO_INPUT_GET(GPIO_ID_PIN(13))==0x00)

{

bz++;

if(bz==2)bz=0;

if(bz==1)GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0); //GPIO12为低

if(bz==0)GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);//GPIO12为高

while(GPIO_INPUT_GET(GPIO_ID_PIN(13))==0x00); //等待按键释放

}

}

}

}

①,GPIO 相关接⼝口位于 /ESP8266_NONOS_SDK/include/eagle_soc.h & gpio.h。

②,使⽤用示例例可参考 /ESP8266_NONOS_SDK/examples/IoT_Demo/user/user_plug.c。

2.4,编译与烧录,观察实验现象

2.4.1,每次编译工程之前记得先clear project ,再build project 编译工程,保证生成的bin文件不出错。

2.4.2,eclipse需要自己点击保存,真麻烦… 所以,提醒各位小伙伴,每次修改了文件,记得 save 保存一下。

2.4.3,实验现象按一下按键LED亮起,再按一下LED熄灭,实现了通过按键控制LED灯的亮灭,本节教程结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值