贊助廠商

娛樂城推薦

首頁

電腦與網際網路/其他:電腦列表

組合語言- Arduino 註解程式碼後動作不正常

各位版上的大大下午好我是Arduino初心者,買了一個教學盒按表操課。如果什麼都不改的話確實可以動作,但是,我覺得他的wifi連線動作太慢,所以做了一些修改,結果最後把Serial.println這行註解掉後動作就不正常了。原始程式碼如下// Flag's Block 產生的草稿碼#include <ESP8266WiFi.h>#include <ESP8266WebServer.h>#include "data/webpages.h"int resistor_of_skin;unsigned long Time_counter;int lie_value;ESP8266WebServer _esp8266WebServer(80);void handleRoot() {#ifndef WEBPAGE_IN_PROGMEM _esp8266WebServer.send(200, "text/html", mainPage);#else _esp8266WebServer.send_P(200, PSTR("text/html"), mainPage);#endif}void handleNotFound() {#ifndef WEBPAGE_IN_PROGMEM _esp8266WebServer.send(404, "text/html", errorPage);#else _esp8266WebServer.send_P(404, PSTR("text/html"), errorPage);#endif}void handleSetting() {#ifndef WEBPAGE_IN_PROGMEM _esp8266WebServer.send(200, "text/html", settingPage);#else _esp8266WebServer.send_P(200, PSTR("text/html"), settingPage);#endif}void lie_return() { _esp8266WebServer.send(200, u8"text/plain", String(lie_value));}void lie_transfer(int resistor_of_skin) { resistor_of_skin = (resistor_of_skin < 10 ? 10 : ( resistor_of_skin > 40 ?40 : resistor_of_skin)); lie_value = (map(resistor_of_skin, 10, 40, 180, 360));}// setup() 會先被執行且只會執行一次void setup() { Serial.begin(9600); pinMode(A0, INPUT); Time_counter = millis(); while (!WiFi.softAP(u8"LocalKing", u8"12345678", 7,false)); _esp8266WebServer.on("/lie", lie_return); _esp8266WebServer.on("/", handleRoot); _esp8266WebServer.onNotFound(handleNotFound); _esp8266WebServer.on("/setting", handleSetting); _esp8266WebServer.begin();}// loop() 裡面的程式會不斷重複執行void loop() { _esp8266WebServer.handleClient(); if (millis() + Time_counter > 1000) { resistor_of_skin = analogRead(A0); Serial.println(resistor_of_skin); lie_transfer(resistor_of_skin); Time_counter = millis(); }我作了以下動作1.把Time_counter全部拿掉,我覺得millis()+Time_counter似乎是多餘的。應該只要留millis()就可以了。執行正常,但是網頁資料傳輸還是慢。2.註解//Serial.println(resistor_of_skin);此時,wifi的ID就完全看不到了。把註解拿掉,Wifi的ID又可以看到了。請問高手這是發生什麼事,不應該註解掉Serial.println Wifi就看不到阿煩請解惑感恩--
  • 發問日期:2021-06-04 00:30:14

友站連結