我正在用我的 spark 核心开发一个小产品创意,并为客户设置一个串行接口,以便将他们的产品设置到他们的 wifi 上:
String newssid = wifissid(3);
String newpw = wifipw(3);
WiFi.setCredentials(newssid, newpw);
如您所见,我创建了 2 个函数,它们通过与 pc 的串行连接返回 ssid 和密码。当我在代码中设置凭据时,我已经设法让 setCredentials 工作:
WiFi.setCredentials("D-link7853", "thisismypassword");
但是当我用字符串运行它时,如上所述,它不想编译。给出的错误是:
serial_wifi_cred_change_3.cpp:49:39: 错误: 没有匹配函数调用 'WiFiClass::setCredentials(String&, String&)' }
serial_wifi_cred_change_3.cpp:49:39: 注意:候选者是:在文件中包含从 ../inc/ spark_wiring.h:37:0,来自 ../inc/application.h:29,来自 serial_wifi_cred_change_3.cpp:2:../inc/spark_wiring_wifi.h:61:21:注意:静态 void WiFiClass::setCredentials(const char*) 静态无效 setCredentials(const char ssid); ^ ../inc/spark_wiring_wifi.h:61:21:注意:候选人需要 1 个参数,提供 2 个 ../inc/spark_wiring_wifi.h:62:21:注意:静态 void WiFiClass::setCredentials(const char , const char *) 静态无效 setCredentials(const char *ssid, const char密码); ^ ../inc/spark_wiring_wifi.h:62:21:注意:没有已知的参数 1 从 'String' 到 'const char ' 的转换 ../inc/spark_wiring_wifi.h:63:21:注意:静态无效 WiFiClass: :setCredentials(const char*, const char*, long unsigned int) static void setCredentials(const char *ssid, const char *password, unsigned long security); ^