ESP8266 01S GPIO_Output

学习记录

ESP8266 01S GPIO_Output

相关资料

api参考

在这里插入图片描述

技术参考

在这里插入图片描述

管脚清单

在这里插入图片描述

头文件

加入#include “eagle_soc.h”

GPIO函数

将管脚设为IO功能

#define PIN_FUNC_SELECT(PIN_NAME, FUNC)  do { \
    WRITE_PERI_REG(PIN_NAME,   \
                                (READ_PERI_REG(PIN_NAME) \
                                     &  (~(PERIPHS_IO_MUX_FUNC<<PERIPHS_IO_MUX_FUNC_S)))  \
                                     |( (((FUNC&BIT2)<<2)|(FUNC&0x3))<<PERIPHS_IO_MUX_FUNC_S) );  \
    } while (0)

PIN_NAME为管脚名, FUNC为管脚功能。
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
将管脚2设成io口。
FUNC也可以写为功能号-1,即1-1=0。
在这里插入图片描述
在这里插入图片描述

设定管脚模式

#define GPIO_OUTPUT_SET(gpio_no, bit_value) \
    gpio_output_set((bit_value)<<gpio_no, ((~(bit_value))&0x01)<<gpio_no, 1<<gpio_no,0)

GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 1);
将参数1的IO口(IO2)设为输出模式,将参数二的电平输出,即高电平。

user_init()

user_init(void)
{
	u8 led = 0;
	uart_init(9600, 9600);
	os_delay_us(10000);

	os_printf("\r\n---------------\r\n");
	os_printf("\r\n SDK version: %s \r\n", system_get_sdk_version());		//串口打印SDK版本
	os_printf("\r\n ProjectName: %s \r\n", ProjectName);		//串口打印SDK版本
	uart0_sendStr("\r\n HELLO WORLD!!! \r\n");
	os_printf("\r\n---------------\r\n");

	PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);

	GPIO_OUTPUT_SET(GPIO_ID_PIN(2), 1);

	while(1)
	{
		system_soft_wdt_feed();
		led = !led;
		delay_ms(1000);
		uart0_sendStr("delay_ms(1000);");
		GPIO_OUTPUT_SET(GPIO_ID_PIN(2), led);
	}
}

效果

LED果真翻转了
这儿只展示串口输出
在这里插入图片描述

发现

发现esp8266 01s 的led灯是连在gpio2上的,当io2为低电平时亮,高电平时灭。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值