关于一个监控按钮 触发wifi.scan的功能-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 646|回复: 3

[未解决] 关于一个监控按钮 触发wifi.scan的功能

[复制链接]
发表于 2021-11-29 11:06 | 显示全部楼层 |阅读模式
本帖最后由 guiyn 于 2021-11-29 11:42 编辑

HI 大佬们求教一个问题。就是按下按钮显示 wifiscan的结果。我的代码如下:
  1. #include <Arduino.h>
  2. #include <Ticker.h>
  3. #include <ESP8266WiFi.h>
  4. Ticker ticker;
  5. void setup() {
  6.   Serial.begin(115200); // 打开串口
  7.   // 设置按钮
  8.   pinMode(D3, INPUT);
  9.   ticker.attach_ms(100, scanButtonClick);
  10. }

  11. void loop() {
  12. }

  13. void scanButtonClick() {
  14.   if (digitalRead(D3) == 0)
  15.   {
  16.      Serial.println("in click...");
  17.     int scanResult = WiFi.scanNetworks();
  18.     if (scanResult == 0) {
  19.       Serial.println(F("No networks found"));
  20.     }
  21.     else if (scanResult > 0) {
  22.       Serial.printf(PSTR("%d networks found:\n"), scanResult);
  23.       String ssid;
  24.       int32_t rssi;
  25.       uint8_t encryptionType;
  26.       uint8_t* bssid;
  27.       int32_t channel;
  28.       bool hidden;
  29.       for (int8_t i = 0; i < scanResult; i++) {
  30.         WiFi.getNetworkInfo(i, ssid, encryptionType, rssi, bssid, channel, hidden);
  31.         delay(1);
  32.       }
  33.     } else {
  34.       Serial.printf(PSTR("WiFi scan error %d \n"), scanResult);
  35.       
  36.     }
  37.   }
  38. }
复制代码
关于这个监控按钮 显示wifi.sacn 的任务。这么放到ticker 中就无法实现。 但是放到loop中就是可以的。 请问这是什么原因呢。请大佬给出原理。或者指明方向。

我用的开发板是淘宝十五块钱的esp8266 的D1
发表于 2021-11-29 15:04 | 显示全部楼层
void loop() {
void scanButtonClick()
}
 楼主| 发表于 2021-11-29 15:08 | 显示全部楼层
lwq1947 发表于 2021-11-29 15:04
void loop() {
void scanButtonClick()
}

我知道这样能运行。但是我想通过按钮按了以后进行触发
发表于 2021-11-30 05:48 | 显示全部楼层
guiyn 发表于 2021-11-29 15:08
我知道这样能运行。但是我想通过按钮按了以后进行触发

如果你的意思是按一次按钮只输出一次串口信息的话;
  void loop() {
scanButtonClick();
  delay(2000);
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 19:47 , Processed in 0.070087 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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