收藏官网首页
查看: 10306|回复: 1

[讨论] ESP8266引脚不能用的问题

1

主题

1

帖子

92

积分

注册会员

Rank: 2

积分
92
跳转到指定楼层
楼主
发表于 2020-2-26 00:12:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发

新人一路狂奔,终于编译烧录成功,发现个问题头疼了两天。
在user_main.c里添加引脚代码后发现只有4/5两个引脚可以控制,也就是说其他引脚都不行,比如16,12,2,10等等,查了很多资料发现16引脚只能作为输入,其他的却没找出是什么问题。我的目的很简单,控制6个继电器就OK,如果官方或者各位大神看到了希望回帖解决一下,万分感谢。下面是我的代码。
//...............这是定义引脚
void Usermain_SW1_1_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(16),1);
}
void Usermain_SW1_0_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(16),0);
}

//......
void Usermain_SW2_1_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(5),1);
}
void Usermain_SW2_0_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(5),0);
}

//......
void Usermain_SW3_1_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(4),1);
}
void Usermain_SW3_0_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(4),0);
}
//.........
void Usermain_SW4_1_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(12),1);
}
void Usermain_SW4_0_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(12),0);
}

//..........
void Usermain_SW5_1_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(2),1);
}
void Usermain_SW5_0_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(2),0);
}
//.........
void Usermain_SW6_1_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(10),1);
}
void Usermain_SW6_0_Handle(void)
{
        GPIO_OUTPUT_SET(GPIO_ID_PIN(10),0);
}

//。。。。。。。。。。。。。。。。
这是调用的函数,太长了就只发一个
        case EVENT_SW1 :
            currentDataPoint.valueSW1 = dataPointPtr->valueSW1;
            GIZWITS_LOG("Evt: EVENT_SW1 %d \n", currentDataPoint.valueSW1);
            if(0x01 == currentDataPoint.valueSW1)
            {
                //user handle
                                extern void Usermain_SW1_1_Handle(void);
                                Usermain_SW1_1_Handle();
            }
            else
            {
                //user handle
                                extern void Usermain_SW1_0_Handle(void);
                                Usermain_SW1_0_Handle();
            }
            break;

//。。。。Makefile文件
BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6
ifeq ($(BOOT), new)
    boot = new
else。。。

只修改了这三个地方

沙发
发表于 2020-2-29 12:37:18 | 只看该作者
完全就是瞎写一通,要GPIO先去查下乐鑫编程手册,首先要初始化gpio,然后才是输出,否则gpio功能都没有,gpio16有专用的驱动函数和库,初始化为输出就能用了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表