收藏官网首页
查看: 22414|回复: 5

[求助] GOKIT2.3arduino底板自动生成MCU代码应该选择哪个方案?

7

主题

16

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
跳转到指定楼层
楼主
发表于 2017-4-4 22:02:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
RT,请问是应该选择UNO R3的方案吗?我选了这个方案得到的代码,烧录了networkConfig,但是运行不起来
我是不是方案选错了?谢谢

321

主题

1054

帖子

4504

积分

论坛元老

Rank: 8Rank: 8

积分
4504
QQ
沙发
发表于 2017-4-5 08:32:46 | 只看该作者
是选UNO R3,可否把你的代码发上来看看

点评

/****************************************** Name: Gizwits + ArduinoUnoWiFi Library Author: / Version: V1.0 Init: 2016-12-16 Modify: 2016-12-16 ******************************************  详情 回复 发表于 2017-4-5 12:41

7

主题

16

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
板凳
 楼主| 发表于 2017-4-5 12:41:26 | 只看该作者
bigfanofloT 发表于 2017-4-5 08:32
是选UNO R3,可否把你的代码发上来看看

/******************************************

Name:   Gizwits + ArduinoUnoWiFi Library
Author:   tli@gizwits.com / bing@arduino.org.cn
Version:  V1.0
Init:   2016-12-16
Modify:     2016-12-16
*******************************************/

#include <Gizwits.h>
#include <Wire.h>
#include <SoftwareSerial.h>

Gizwits myGizwits;

#define   KEY1              6
#define   KEY2              7
#define   KEY1_SHORT_PRESS  1
#define   KEY1_LONG_PRESS   2
#define   KEY2_SHORT_PRESS  4
#define   KEY2_LONG_PRESS   8
#define   NO_KEY            0
#define   KEY_LONG_TIMER    3
unsigned long Last_KeyTime = 0;

unsigned long gokit_time_s(void)
{
  return millis() / 1000;
}

char gokit_key1down(void)
{
  unsigned long keep_time = 0;
  if (digitalRead(KEY1) == LOW)
  {
    delay(100);
    if (digitalRead(KEY1) == LOW)
    {
      keep_time = gokit_time_s();
      while (digitalRead(KEY1) == LOW)
      {
        if ((gokit_time_s() - keep_time) > KEY_LONG_TIMER)
        {
          Last_KeyTime = gokit_time_s();
          return KEY1_LONG_PRESS;
        }
      } //until open the key

      if ((gokit_time_s() - Last_KeyTime) > KEY_LONG_TIMER)
      {
        return KEY1_SHORT_PRESS;
      }
      return 0;
    }
    return 0;
  }
  return 0;
}

char gokit_key2down(void)
{
  int unsigned long keep_time = 0;
  if (digitalRead(KEY2) == LOW)
  {
    delay(100);
    if (digitalRead(KEY2) == LOW)
    {
      keep_time = gokit_time_s();
      while (digitalRead(KEY2) == LOW) //until open the key
      {

        if ((gokit_time_s() - keep_time) > KEY_LONG_TIMER)
        {
          Last_KeyTime = gokit_time_s();
          return KEY2_LONG_PRESS;
        }
      }

      if ((gokit_time_s() - Last_KeyTime) > KEY_LONG_TIMER)
      {
        return KEY2_SHORT_PRESS;
      }
      return 0;
    }
    return 0;
  }
  return 0;
}

/*************************************
*    function      : gokit_keydown
*    Description   : check the gokit key1 or key2 event
*    return        : KEY1_LONG_PRESS  KEY1_SHORT_PRESS
*                    KEY2_LONG_PRESS  KEY2_SHORT_PRESS
*                     0-no keydown event.
*    Add by Alex.lin    --2014-12-25
************************************/
char gokit_keydown(void)
{
  char ret = 0;
  ret |= gokit_key2down();
  ret |= gokit_key1down();
  return ret;

}

void KEY_Handle(void)
{
  /*  Press for over than 3 second is Long Press  */
  switch (gokit_keydown())
  {
    case KEY1_SHORT_PRESS:
      Serial.println(F("KEY1_SHORT_PRESS , Production Test Mode "));
      myGizwits.setBindMode(WIFI_PRODUCTION_TEST);
      break;
    case KEY1_LONG_PRESS:
      Serial.println(F("KEY1_LONG_PRESS ,Wifi Reset"));
      myGizwits.setBindMode(WIFI_RESET_MODE);
      break;
    case KEY2_SHORT_PRESS:
      Serial.println(F("KEY2_SHORT_PRESS Soft AP mode"));
      myGizwits.setBindMode(WIFI_SOFTAP_MODE);
      //Soft AP mode
      break;
    case KEY2_LONG_PRESS:
      Serial.println(F("KEY2_LONG_PRESS ,AirLink mode"));
      myGizwits.setBindMode(WIFI_AIRLINK_MODE);
      //AirLink mode
      break;
    default:
      break;
  }
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(KEY1, INPUT_PULLUP);
  pinMode(KEY2, INPUT_PULLUP);
  myGizwits.begin();
  Serial.println(F("GoKit init  OK!"));
}


void wifiStatusHandle()
{
  if(myGizwits.wifiHasBeenSet(WIFI_SOFTAP))
    Serial.println(F("WIFI_SOFTAP!"));
  
  if(myGizwits.wifiHasBeenSet(WIFI_AIRLINK))
    Serial.println(F("WIFI_AIRLINK!"));
  
  if(myGizwits.wifiHasBeenSet(WIFI_STATION))
    Serial.println(F("WIFI_STATION!"));
  
  if(myGizwits.wifiHasBeenSet(WIFI_CON_ROUTER))
    Serial.println(F("WIFI_CON_ROUTER!"));
  
  if(myGizwits.wifiHasBeenSet(WIFI_DISCON_ROUTER))
    Serial.println(F("WIFI_DISCON_ROUTER!"));
  
  if(myGizwits.wifiHasBeenSet(WIFI_CON_M2M))
    Serial.println(F("WIFI_CON_M2M!"));
  
  if(myGizwits.wifiHasBeenSet(WIFI_DISCON_M2M))
    Serial.println(F("WIFI_DISCON_M2M!"));
}

void loop() {  
  KEY_Handle();//key handle , network configure
  wifiStatusHandle();//WIFI Status Handle
  myGizwits.process();
}
就这个,是开发者中心自动生成的,烧录之后按key2灯不会亮0 0我不知道该怎么用它

点评

是否是因为开发者中心给的代码里的函数,是不自带LED的?在AIRLINK时关于led的函数需要我自行添加呢?谢谢  详情 回复 发表于 2017-4-5 13:27

7

主题

16

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
地板
 楼主| 发表于 2017-4-5 13:27:31 | 只看该作者
木头羊 发表于 2017-4-5 12:41
/******************************************

Name:   Gizwits + ArduinoUnoWiFi Library

是否是因为开发者中心给的代码里的函数,是不自带LED的?在AIRLINK时关于led的函数需要我自行添加呢?谢谢

点评

果然是这样,谢谢了,我一开始还以为LED的函数在已经封装好的函数里是自带的,谢谢大佬,已经解决了 怪我太粗  详情 回复 发表于 2017-4-5 14:33

7

主题

16

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
5#
 楼主| 发表于 2017-4-5 14:33:53 | 只看该作者
校园创客福利
木头羊 发表于 2017-4-5 13:27
是否是因为开发者中心给的代码里的函数,是不自带LED的?在AIRLINK时关于led的函数需要我自行添加呢?谢 ...

果然是这样,谢谢了,我一开始还以为LED的函数在已经封装好的函数里是自带的,谢谢大佬,已经解决了
怪我太粗

321

主题

1054

帖子

4504

积分

论坛元老

Rank: 8Rank: 8

积分
4504
QQ
6#
发表于 2017-4-5 15:38:16 | 只看该作者
木头羊 发表于 2017-4-5 14:33
果然是这样,谢谢了,我一开始还以为LED的函数在已经封装好的函数里是自带的,谢谢大佬,已经解决了
怪我 ...

1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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