一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
收起左侧

关于MOS的问题

[复制链接]
 楼主| 发表于 2022-6-13 21:25 | 显示全部楼层
cdhigh 发表于 2022-6-13 20:37
我不喜欢好为人师,不过,我可以分享一点小经验,拿到一个复杂的程序后,该如何快速找到自己需要的程序片段 ...

我搜索了一下Source insight,好像没有中文版的,这样用起来很不方便,暂时先不换软件了。

点评

https://blog.csdn.net/tuwulin365/article/details/117387331 汉化版 Vscode也挺好,不过单纯看代码source insight是王者  详情 回复 发表于 2022-6-13 21:34
发表于 2022-6-13 21:34 | 显示全部楼层
灰灰的丝丁鱼 发表于 2022-6-13 21:25
我搜索了一下Source insight,好像没有中文版的,这样用起来很不方便,暂时先不换软件了。
...

https://blog.csdn.net/tuwulin365/article/details/117387331
汉化版

Vscode也挺好,不过单纯看代码source insight是王者
发表于 2022-6-13 21:44 | 显示全部楼层
 楼主| 发表于 2022-6-13 21:48 | 显示全部楼层
嗯,谢谢了!下载一个试用一下。
这个是程序的循环部分,涉及到手机app的反馈,关于红外的文件有几个

  void loop() {
  // put your main code here, to run repeatedly:
  if( WiFi.status() != WL_CONNECTED)
  {
     static int physicalkeylastms = millis();
    if (millis()-physicalkeylastms > 1000) {
        physicalkeylastms = millis();
        Serial.println("WiFi not Connect");
    }
  }

  //连接上wifi,修改led灯状态
  updateLEDLight();

  //不断检测按钮按下状态
  button_attach_loop();
  if(WiFi.status() == WL_CONNECTED && !isGetTopicList()){   
    Serial.println("Connected to AP");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
    Serial.print("espClient [");   
    Serial.printf(PSTR("Running Free mem=%d\n"), ESP.getFreeHeap());   
    if(LAST_ERR != 102 ){
      topicInit();
    }
    else {
      static int tm1stms = millis();
      if (millis()-tm1stms > 30000) {
          tm1stms = millis();
          Serial.println(" 设备不存在! ");
      }
    }
    if(isGetTopicList()){
  //    TCP_SERVER_PORT = 9501;
      client.setServer(TCP_SERVER_ADDR.c_str(), TCP_SERVER_PORT);   /* 连接WiFi之后,连接MQTT服务器 */
      //检查MQtt server 连接
      mqttCheckConnect((char*)UID.c_str(),"","");
    }   
  }
  static int lastheartbeatms = millis();
  if (millis()-lastheartbeatms > 30000) {
      lastheartbeatms = millis();
      Serial.printf(PSTR("Running (%s),version %s for %d Free mem=%d\n"),
                    WiFi.localIP().toString().c_str(),
                    version.c_str(), lastheartbeatms/1000, ESP.getFreeHeap());
      if(isGetTopicList()){
    //    TCP_SERVER_PORT = 9501;
        client.setServer(TCP_SERVER_ADDR.c_str(), TCP_SERVER_PORT);   /* 连接WiFi之后,连接MQTT服务器 */
        //检查MQtt server 连接
        mqttCheckConnect((char*)UID.c_str(),"","");
      }
      /* 上报 */
      Serial.printf(PSTR("Running Free mem=%d\n"), ESP.getFreeHeap());
  }

  client.loop();
#if (defined(YYXBC_WITH_IR))
   if(IRHwaiHandler::instance().recvIR()){
     if(IRHwaiHandler::instance().getIsDebug()){
        int index = IRHwaiHandler::instance().getIndex();
        mySwitchHandler(index,"Hwai");
     }
   }           
#endif

//同一时间,433和315只能有一个能接收
  if (rf_receiver == RF433)
  {
      IR315Handler::instance().disableReceive();
      IR433Handler::instance().enableReceive();
      delay(100);
      #if (defined(YYXBC_WITH_433))
      if(IR433Handler::instance().recvIR()){
        if(IR433Handler::instance().getIsDebug()){
          int index = IR433Handler::instance().getIndex();
          mySwitchHandler(index,"433");
        }
      }
#endif
  }
  else
  {
      IR433Handler::instance().disableReceive();
      IR315Handler::instance().enableReceive();
      delay(100);
      #if (defined(YYXBC_WITH_315))
      if(IR315Handler::instance().recvIR()){
        if(IR315Handler::instance().getIsDebug()){
          int index = IR315Handler::instance().getIndex();
          mySwitchHandler(index,"315");
        }
      }
      #endif
  }
}


发表于 2022-6-13 22:00 | 显示全部楼层
这里的代码有点少,看不出来
 楼主| 发表于 2022-6-13 23:09 | 显示全部楼层
按第2个链接的下载并一步步跟着安装,只用汉化没有美化,打开汉化后的软件就成了这样了
QQ图片20220613230224.png

点评

不清楚呢,我很久前装的,也不知道是哪个地方的,实在不行就再换一个,搜索source insight 汉化就有很多链接了  详情 回复 发表于 2022-6-13 23:43
发表于 2022-6-13 23:43 | 显示全部楼层
灰灰的丝丁鱼 发表于 2022-6-13 23:09
按第2个链接的下载并一步步跟着安装,只用汉化没有美化,打开汉化后的软件就成了这样了

不清楚呢,我很久前装的,也不知道是哪个地方的,实在不行就再换一个,搜索source insight 汉化就有很多链接了

点评

暂时不管这个软件了,这几天事情比较多,先把上面的问题理解了。  详情 回复 发表于 2022-6-14 21:54
 楼主| 发表于 2022-6-14 21:54 | 显示全部楼层
cdhigh 发表于 2022-6-13 23:43
不清楚呢,我很久前装的,也不知道是哪个地方的,实在不行就再换一个,搜索source insight 汉化就有很多 ...

暂时不管这个软件了,这几天事情比较多,先把上面的问题理解了。
发表于 2022-6-14 21:56 | 显示全部楼层
已经清楚, Q1为发送使能,Q2为红外信号控制

点评

谢谢了!就是说IO14既作为红外输入,也作为调制后的信号输出了?  详情 回复 发表于 2022-6-14 22:15
 楼主| 发表于 2022-6-14 22:15 | 显示全部楼层
cdhigh 发表于 2022-6-14 21:56
已经清楚, Q1为发送使能,Q2为红外信号控制

谢谢了!就是说IO14既作为红外输入,也作为调制后的信号输出了?

点评

IO14做为红外的输入,同时做为发送使能(需要发送时,端口改为输出,并且端口电平为低), 其实这样的用法有些不好,因为红外接收时也是低。 所以如果简化的话,不需要Q1应该也可以。 只是不需要Q1时,自己需要在  详情 回复 发表于 2022-6-14 23:23

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-27 03:02 , Processed in 0.067631 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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