极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 布列松

enc28j60 控制多个 led IO 的代码,模块本身带控制的html页面

[复制链接]
 楼主| 发表于 2015-4-13 16:22:01 | 显示全部楼层
tsaiwn 发表于 2015-4-13 14:47
最简单就是把我给你的整个
void doLed4(word pos) {
...

的确后面加了,但还是


  1. #include <EtherCard.h>

  2. static byte mymac[] = {0x74,0x69,0x69,0x2D,0x30,0x31};
  3. static byte myip[] = {192,168,1,180};
  4. byte Ethernet::buffer[700];

  5. const int ledPin = 3;
  6. boolean ledStatus;

  7. char* on = "ON";
  8. char* off = "OFF";
  9. char* statusLabel;
  10. char* buttonLabel;
  11. char* statusLabel2;
  12. char* buttonLabel2;
  13. char* statusLabel3;
  14. char* buttonLabel3;
  15. char* statusLabel4;
  16. char* buttonLabel4;
  17. unsigned char hexdata[8] = {0x01,0x05,0x00,0x10,0xFF,0x00,0x8D,0xFF};
  18. unsigned char yy[] = {0x01,0x05,0x00,0x10,0x00,0x00,0xCC,0x0F};

  19. void setup () {

  20.   Serial.begin(9600);
  21.   Serial.println("WebLed Demo");

  22.   if (!ether.begin(sizeof Ethernet::buffer, mymac, 10))
  23.     Serial.println( "Failed to access Ethernet controller");
  24. else
  25.    Serial.println("Ethernet controller initialized");

  26.   if (!ether.staticSetup(myip))
  27.     Serial.println("Failed to set IP address");

  28.   Serial.println();

  29.   pinMode(ledPin, OUTPUT);
  30.   digitalWrite(ledPin, LOW);
  31.   ledStatus = false;
  32. }

  33. void loop() {

  34.   word len = ether.packetReceive();
  35.   word pos = ether.packetLoop(len);
  36.   doLed(pos);
  37.   doLed2(pos);
  38.   doLed3(pos);
  39.   doLed4(pos);
  40. }


  41. void doLed( word pos) {
  42.    if(pos) {
  43.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status=ON") != 0) {
  44.       Serial.write(hexdata, 8);
  45.       ledStatus = true;
  46.     }

  47.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status=OFF") != 0) {
  48.       Serial.write(yy,  sizeof( yy ));
  49.       ledStatus = false;
  50.     }

  51.     if(ledStatus) {
  52.       digitalWrite(ledPin, HIGH);
  53.       statusLabel = on;
  54.       buttonLabel = off;
  55.     } else {
  56.       digitalWrite(ledPin, LOW);
  57.       statusLabel = off;
  58.       buttonLabel = on;
  59.     }
  60. }

  61. void doLed2(word pos ) {
  62.    if(pos) {
  63.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=ON") != 0) {
  64.       Serial.write(hexdata, 8);
  65.       ledStatus2 = true;
  66.     }

  67.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=OFF") != 0) {
  68.       Serial.write(yy,  sizeof( yy ));
  69.       ledStatus2 = false;
  70.     }

  71.     if(ledStatus2) {
  72.       digitalWrite(ledPin, HIGH);
  73.       statusLabel2 = on;
  74.       buttonLabel2 = off;
  75.     } else {
  76.       digitalWrite(ledPin, LOW);
  77.       statusLabel2 = off;
  78.       buttonLabel2 = on;
  79.     }

  80. }
  81. void doLed3(word pos ) {
  82.    if(pos) {
  83.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=ON") != 0) {
  84.      Serial.write(hexdata, 8);
  85.       ledStatus3 = true;
  86.     }

  87.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=OFF") != 0) {
  88.      Serial.write(yy,  sizeof( yy ));
  89.       ledStatus3 = false;
  90.     }

  91.     if(ledStatus3) {
  92.       digitalWrite(ledPin, HIGH);
  93.       statusLabel3 = on;
  94.       buttonLabel3 = off;
  95.     } else {
  96.       digitalWrite(ledPin, LOW);
  97.       statusLabel3 = off;
  98.       buttonLabel3 = on;
  99.     }

  100. }
  101. void doLed4(word pos ) {
  102.    if(pos) {
  103.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=ON") != 0) {
  104.     Serial.write(hexdata, 8);
  105.       ledStatus4 = true;
  106.     }

  107.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=OFF") != 0) {
  108.     Serial.write(yy,  sizeof( yy ));
  109.       ledStatus4 = false;
  110.     }

  111.     if(ledStatus4) {
  112.       digitalWrite(ledPin4, HIGH);
  113.       statusLabel4 = on;
  114.       buttonLabel4 = off;
  115.     } else {
  116.       digitalWrite(ledPin4, LOW);
  117.       statusLabel4 = off;
  118.       buttonLabel4 = on;
  119.     }

  120. }
  121.     BufferFiller bfill = ether.tcpOffset();
  122.     bfill.emit_p(PSTR("HTTP/1.0 200 OK\r\n"
  123.       "Content-Type: text/html\r\nPragma: no-cache\r\n\r\n"
  124.       "<html><head><title>WebLed</title></head>"
  125.       "<body>"
  126.       "LED Status: $S "
  127.       "<a href="/?status=$S"><input type="button" value="$S"></a>"
  128.       "<br><br>"

  129.       "LED2 Status: $S "
  130.       "<a href="/?status2=$S"><input type="button" value="$S"></a>"
  131.       "<br><br>"

  132.       "LED3 Status: $S "
  133.       "<a href="/?status3=$S"><input type="button" value="$S"></a>"
  134.       "<br><br>"

  135.       "LED4 Status: $S "
  136.       "<a href="/?status4=$S"><input type="button" value="$S"></a>"
  137.       "<br><br>"

  138.       "</body></html>\r\n\r\n"      
  139.       ), statusLabel, buttonLabel, buttonLabel,
  140.       statusLabel2, buttonLabel2, buttonLabel2,
  141.       statusLabel3, buttonLabel3, buttonLabel3,
  142.       statusLabel4, buttonLabel4, buttonLabel4
  143.       );
  144.     ether.httpServerReply(bfill.position());
  145.   }
  146. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-4-13 18:34:00 | 显示全部楼层
布列松 发表于 2015-4-13 16:22
的确后面加了,但还是

这表示在该行之前你漏掉了一个 }
使得这新函数放到前面函数内部了 !
可能你复制贴上贴错地方 !?
这种小错误要自己找出来
不然要问问旁边的同学 !
回复 支持 反对

使用道具 举报

发表于 2015-4-13 18:37:41 | 显示全部楼层
布列松 发表于 2015-4-13 16:22
的确后面加了,但还是


你 line 75 的 } 是 line 55 的 { 對應的
所以 line 54 的 { 對應的 } 應該出現在 line 76

可能每個 void doLed???(???) {

都漏掉了最後的 }
自己對照看看

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 19:03:15 | 显示全部楼层
tsaiwn 发表于 2015-4-13 18:37
你 line 75 的 } 是 line 55 的 { 對應的
所以 line 54 的 { 對應的 } 應該出現在 line 76

还是搞不明白,不知是不是IDE版本的问题了,能不能帮忙用arduino IDE检验一下代码,只是控制两个LED就可以了,后面的自己添加复制吧
回复 支持 反对

使用道具 举报

发表于 2015-4-13 19:21:03 | 显示全部楼层
布列松 发表于 2015-4-13 19:03
还是搞不明白,不知是不是IDE版本的问题了,能不能帮忙用arduino IDE检验一下代码,只是控制两个LED就可以 ...


好了:
  1. #include <EtherCard.h>

  2. static byte mymac[] = {0x74,0x69,0x69,0x2D,0x30,0x31};
  3. static byte myip[] = {192,168,1,180};
  4. byte Ethernet::buffer[700];

  5. const int ledPin = 3;
  6. boolean ledStatus;

  7. char* on = "ON";
  8. char* off = "OFF";
  9. char* statusLabel;
  10. char* buttonLabel;
  11. char* statusLabel2;
  12. char* buttonLabel2;
  13. char* statusLabel3;
  14. char* buttonLabel3;
  15. char* statusLabel4;
  16. char* buttonLabel4;
  17. unsigned char hexdata[8] = {0x01,0x05,0x00,0x10,0xFF,0x00,0x8D,0xFF};
  18. unsigned char yy[] = {0x01,0x05,0x00,0x10,0x00,0x00,0xCC,0x0F};

  19. void setup () {

  20.   Serial.begin(9600);
  21.   Serial.println("WebLed Demo");

  22.   if (!ether.begin(sizeof Ethernet::buffer, mymac, 10))
  23.     Serial.println( "Failed to access Ethernet controller");
  24. else
  25.    Serial.println("Ethernet controller initialized");

  26.   if (!ether.staticSetup(myip))
  27.     Serial.println("Failed to set IP address");

  28.   Serial.println();

  29.   pinMode(ledPin, OUTPUT);
  30.   digitalWrite(ledPin, LOW);
  31.   ledStatus = false;
  32. } // setup(

  33. void loop() {

  34.   word len = ether.packetReceive();
  35.   word pos = ether.packetLoop(len);
  36.   doLed(pos);
  37.   doLed2(pos);
  38.   doLed3(pos);
  39.   doLed4(pos);
  40.     BufferFiller bfill = ether.tcpOffset();
  41.     bfill.emit_p(PSTR("HTTP/1.0 200 OK\r\n"
  42.       "Content-Type: text/html\r\nPragma: no-cache\r\n\r\n"
  43.       "<html><head><title>WebLed</title></head>"
  44.       "<body>"
  45.       "LED Status: $S "
  46.       "<a href="/?status=$S"><input type="button" value="$S"></a>"
  47.       "<br><br>"

  48.       "LED2 Status: $S "
  49.       "<a href="/?status2=$S"><input type="button" value="$S"></a>"
  50.       "<br><br>"

  51.       "LED3 Status: $S "
  52.       "<a href="/?status3=$S"><input type="button" value="$S"></a>"
  53.       "<br><br>"

  54.       "LED4 Status: $S "
  55.       "<a href="/?status4=$S"><input type="button" value="$S"></a>"
  56.       "<br><br>"

  57.       "</body></html>\r\n\r\n"      
  58.       ), statusLabel, buttonLabel, buttonLabel,
  59.       statusLabel2, buttonLabel2, buttonLabel2,
  60.       statusLabel3, buttonLabel3, buttonLabel3,
  61.       statusLabel4, buttonLabel4, buttonLabel4
  62.       );
  63.     ether.httpServerReply(bfill.position());
  64. } // loop(

  65. void doLed( word pos) {
  66.    if(pos) {
  67.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status=ON") != 0) {
  68.       Serial.write(hexdata, 8);
  69.       ledStatus = true;
  70.     }// if(strstr

  71.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status=OFF") != 0) {
  72.       Serial.write(yy,  sizeof( yy ));
  73.       ledStatus = false;
  74.     }

  75.     if(ledStatus) {
  76.       digitalWrite(ledPin, HIGH);
  77.       statusLabel = on;
  78.       buttonLabel = off;
  79.     } else {
  80.       digitalWrite(ledPin, LOW);
  81.       statusLabel = off;
  82.       buttonLabel = on;
  83.     }// if(..else..
  84.    }// if(pos
  85. } // doLed(
  86. ///////////////////////////
  87. void doLed2(word pos ) {
  88.    if(pos) {
  89.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=ON") != 0) {
  90.       Serial.write(hexdata, 8);
  91.       ledStatus2 = true;
  92.     }

  93.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=OFF") != 0) {
  94.       Serial.write(yy,  sizeof( yy ));
  95.       ledStatus2 = false;
  96.     }

  97.     if(ledStatus2) {
  98.       digitalWrite(ledPin, HIGH);
  99.       statusLabel2 = on;
  100.       buttonLabel2 = off;
  101.     } else {
  102.       digitalWrite(ledPin, LOW);
  103.       statusLabel2 = off;
  104.       buttonLabel2 = on;
  105.     }
  106.    }// if(pos
  107. } // doLed2(
  108. void doLed3(word pos ) {
  109.    if(pos) {
  110.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=ON") != 0) {
  111.      Serial.write(hexdata, 8);
  112.       ledStatus3 = true;
  113.     }

  114.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=OFF") != 0) {
  115.      Serial.write(yy,  sizeof( yy ));
  116.       ledStatus3 = false;
  117.     }

  118.     if(ledStatus3) {
  119.       digitalWrite(ledPin, HIGH);
  120.       statusLabel3 = on;
  121.       buttonLabel3 = off;
  122.     } else {
  123.       digitalWrite(ledPin, LOW);
  124.       statusLabel3 = off;
  125.       buttonLabel3 = on;
  126.     }
  127.    } // if(pos
  128. } // doLed3(
  129. void doLed4(word pos ) {
  130.    if(pos) {
  131.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=ON") != 0) {
  132.     Serial.write(hexdata, 8);
  133.       ledStatus4 = true;
  134.     }

  135.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=OFF") != 0) {
  136.     Serial.write(yy,  sizeof( yy ));
  137.       ledStatus4 = false;
  138.     }

  139.     if(ledStatus4) {
  140.       digitalWrite(ledPin4, HIGH);
  141.       statusLabel4 = on;
  142.       buttonLabel4 = off;
  143.     } else {
  144.       digitalWrite(ledPin4, LOW);
  145.       statusLabel4 = off;
  146.       buttonLabel4 = on;
  147.     }
  148.    }// if(pos
  149. }// doLed4(
复制代码
回复 支持 反对

使用道具 举报

发表于 2015-4-13 19:25:03 | 显示全部楼层
布列松 发表于 2015-4-13 19:03
还是搞不明白,不知是不是IDE版本的问题了,能不能帮忙用arduino IDE检验一下代码,只是控制两个LED就可以 ...

因為你把原先該在 loop( ) { 內最後的那段搬走了
已經幫你搬回 loop( ) { 內最後
並幫你把每個 void doLed??(??){ 最後的 } 補回去了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 22:09:12 | 显示全部楼层
本帖最后由 布列松 于 2015-4-13 22:10 编辑
tsaiwn 发表于 2015-4-13 19:25
因為你把原先該在 loop( ) { 內最後的那段搬走了
已經幫你搬回 loop( ) { 內最後
並幫你把每個 void do ...


终于解决了,不过现在页面少了一次刷新(应该是),按钮要按两次才能出现反映回来的状态




  1. #include <EtherCard.h>

  2. static byte mymac[] = {0x74,0x69,0x69,0x2D,0x30,0x31};
  3. static byte myip[] = {192,168,1,180};
  4. byte Ethernet::buffer[700];

  5. const int ledPin = 3;
  6. const int ledPin2 = 4;
  7. const int ledPin3 = 5;
  8. const int ledPin4 = 6;

  9. boolean ledStatus;
  10. boolean ledStatus2;
  11. boolean ledStatus3;
  12. boolean ledStatus4;

  13. char* on = "ON";
  14. char* off = "OFF";

  15. char* statusLabel;
  16. char* buttonLabel;
  17. char* statusLabel2;
  18. char* buttonLabel2;
  19. char* statusLabel3;
  20. char* buttonLabel3;
  21. char* statusLabel4;
  22. char* buttonLabel4;

  23. unsigned char rs485_ON_01[8] = {0x01,0x05,0x00,0x10,0xFF,0x00,0x8D,0xFF};
  24. unsigned char rs485_OFF_01[8] = {0x01,0x05,0x00,0x10,0x00,0x00,0xCC,0x0F};

  25. unsigned char rs485_ON_02[8] = {0x01,0x05,0x00,0x11,0xFF,0x00,0xDC,0x3F};
  26. unsigned char rs485_OFF_02[8] = {0x01,0x05,0x00,0x11,0x00,0x00,0x9D,0xCF};

  27. unsigned char rs485_ON_03[8] = {0x01,0x05,0x00,0x12,0xFF,0x00,0x2C,0x3F};
  28. unsigned char rs485_OFF_03[8] = {0x01,0x05,0x00,0x12,0x00,0x00,0x6D,0xCF};

  29. unsigned char rs485_ON_04[8] = {0x01,0x05,0x00,0x13,0xFF,0x00,0x7D,0xFF};
  30. unsigned char rs485_OFF_04[8] = {0x01,0x05,0x00,0x13,0x00,0x00,0x3C,0x0F};

  31. void setup () {

  32.   Serial.begin(9600);
  33.   Serial.println("WebLed Demo");

  34.   if (!ether.begin(sizeof Ethernet::buffer, mymac, 10))
  35.     Serial.println( "Failed to access Ethernet controller");
  36. else
  37.    Serial.println("Ethernet controller initialized");

  38.   if (!ether.staticSetup(myip))
  39.     Serial.println("Failed to set IP address");

  40.   Serial.println();

  41.   pinMode(ledPin, OUTPUT);
  42.   digitalWrite(ledPin, LOW);
  43.   pinMode(ledPin2, OUTPUT);
  44.   digitalWrite(ledPin2, LOW);
  45.   pinMode(ledPin3, OUTPUT);
  46.   digitalWrite(ledPin3, LOW);
  47.   pinMode(ledPin4, OUTPUT);
  48.   digitalWrite(ledPin4, LOW);
  49.   
  50.   ledStatus = false;
  51.   ledStatus2 = false;
  52.   ledStatus3 = false;
  53.   ledStatus4 = false;
  54. } // setup(

  55. void loop() {

  56.   word len = ether.packetReceive();
  57.   word pos = ether.packetLoop(len);
  58.   
  59.   doLed(pos);
  60.   doLed2(pos);
  61.   doLed3(pos);
  62.   doLed4(pos);
  63.   
  64.     BufferFiller bfill = ether.tcpOffset();
  65.     bfill.emit_p(PSTR("HTTP/1.0 200 OK\r\n"
  66.       "Content-Type: text/html\r\nPragma: no-cache\r\n\r\n"
  67.       "<html><head><title>WebLed</title></head>"
  68.       "<body>"
  69.       "LED Status: $S "
  70.       "<a href="/?status=$S"><input type="button" value="$S"></a>"
  71.       "<br><br>"

  72.       "LED2 Status: $S "
  73.       "<a href="/?status2=$S"><input type="button" value="$S"></a>"
  74.       "<br><br>"

  75.       "LED3 Status: $S "
  76.       "<a href="/?status3=$S"><input type="button" value="$S"></a>"
  77.       "<br><br>"

  78.       "LED4 Status: $S "
  79.       "<a href="/?status4=$S"><input type="button" value="$S"></a>"
  80.       "<br><br>"

  81.       "</body></html>\r\n\r\n"      
  82.       ), statusLabel, buttonLabel, buttonLabel,
  83.       statusLabel2, buttonLabel2, buttonLabel2,
  84.       statusLabel3, buttonLabel3, buttonLabel3,
  85.       statusLabel4, buttonLabel4, buttonLabel4
  86.       );
  87.     ether.httpServerReply(bfill.position());
  88. } // loop(

  89. void doLed( word pos) {
  90.    if(pos) {
  91.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status=ON") != 0) {
  92.       Serial.write(rs485_ON_01, 8);
  93.       ledStatus = true;
  94.     }// if(strstr

  95.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status=OFF") != 0) {
  96.       Serial.write(rs485_OFF_01, 8);
  97.       ledStatus = false;
  98.     }

  99.     if(ledStatus) {
  100.       digitalWrite(ledPin, HIGH);
  101.       statusLabel = on;
  102.       buttonLabel = off;
  103.     } else {
  104.       digitalWrite(ledPin, LOW);
  105.       statusLabel = off;
  106.       buttonLabel = on;
  107.     }// if(..else..
  108.    }// if(pos
  109. } // doLed(
  110. ///////////////////////////
  111. void doLed2(word pos ) {
  112.    if(pos) {
  113.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status2=ON") != 0) {
  114.       Serial.write(rs485_ON_02, 8);
  115.       ledStatus2 = true;
  116.     }

  117.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status2=OFF") != 0) {
  118.       Serial.write(rs485_OFF_02, 8);
  119.       ledStatus2 = false;
  120.     }

  121.     if(ledStatus2) {
  122.       digitalWrite(ledPin2, HIGH);
  123.       statusLabel2 = on;
  124.       buttonLabel2 = off;
  125.     } else {
  126.       digitalWrite(ledPin2, LOW);
  127.       statusLabel2 = off;
  128.       buttonLabel2 = on;
  129.     }
  130.    }// if(pos
  131. } // doLed2(
  132. void doLed3(word pos ) {
  133.    if(pos) {
  134.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status3=ON") != 0) {
  135.      Serial.write(rs485_ON_03, 8);
  136.       ledStatus3 = true;
  137.     }

  138.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status3=OFF") != 0) {
  139.      Serial.write(rs485_OFF_03, 8);
  140.       ledStatus3 = false;
  141.     }

  142.     if(ledStatus3) {
  143.       digitalWrite(ledPin3, HIGH);
  144.       statusLabel3 = on;
  145.       buttonLabel3 = off;
  146.     } else {
  147.       digitalWrite(ledPin3, LOW);
  148.       statusLabel3 = off;
  149.       buttonLabel3 = on;
  150.     }
  151.    } // if(pos
  152. } // doLed3(
  153. void doLed4(word pos ) {
  154.    if(pos) {
  155.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=ON") != 0) {
  156.     Serial.write(rs485_ON_04, 8);
  157.       ledStatus4 = true;
  158.     }

  159.     if(strstr((char *)Ethernet::buffer + pos, "GET /?status4=OFF") != 0) {
  160.     Serial.write(rs485_OFF_04, 8);
  161.       ledStatus4 = false;
  162.     }

  163.     if(ledStatus4) {
  164.       digitalWrite(ledPin4, HIGH);
  165.       statusLabel4 = on;
  166.       buttonLabel4 = off;
  167.     } else {
  168.       digitalWrite(ledPin4, LOW);
  169.       statusLabel4 = off;
  170.       buttonLabel4 = on;
  171.     }
  172.    }// if(pos
  173. }// doLed4(
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2015-4-13 22:28:30 | 显示全部楼层
布列松 发表于 2015-4-13 22:09
终于解决了,不过现在页面少了一次刷新(应该是),按钮要按两次才能出现反映回来的状态

是说原来只做一个 Led 不必按两次
但现在做四个 Led 每个LED的改变都要按两次 ?
回复 支持 反对

使用道具 举报

发表于 2015-4-13 22:31:14 | 显示全部楼层
布列松 发表于 2015-4-13 22:09
终于解决了,不过现在页面少了一次刷新(应该是),按钮要按两次才能出现反映回来的状态

问一下
你那些用 RS485 送出的 8 bytes 是连接到啥 ?
回复 支持 反对

使用道具 举报

发表于 2015-4-13 22:44:48 | 显示全部楼层
布列松 发表于 2015-4-13 22:09
终于解决了,不过现在页面少了一次刷新(应该是),按钮要按两次才能出现反映回来的状态

把 Line 84 的
  "<html><head><title>WebLed</title></head>"
改为如下三行:
  "<html><head><title>WebLed</title>"
  "<meta http-equiv=\"refresh\" content=\"1\">"
  "</head>"
这意思是让 Web page 每秒自动 Refresh
这样看看是否单击即可 ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 22:58:37 | 显示全部楼层
tsaiwn 发表于 2015-4-13 22:44
把 Line 84 的
  "WebLed"
改为如下三行:

好的 我试试,每一秒自动好像太快了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 22:59:04 | 显示全部楼层
tsaiwn 发表于 2015-4-13 22:31
问一下
你那些用 RS485 送出的 8 bytes 是连接到啥 ?

那个是输出给一个RS485的继电器开关的
回复 支持 反对

使用道具 举报

发表于 2015-4-13 23:05:17 | 显示全部楼层
布列松 发表于 2015-4-13 22:59
那个是输出给一个RS485的继电器开关的

但是你的 Serial 不是 .print 到串口監視器
你同時把 pin 0, pin 1 連接到继电器开关 ?
這樣 .write 那 8 char 時, 串口監視器不是會出現亂碼 ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 23:43:23 | 显示全部楼层
tsaiwn 发表于 2015-4-13 23:05
但是你的 Serial 不是 .print 到串口監視器
你同時把 pin 0, pin 1 連接到继电器开关 ?
這樣 .write 那 ...

是会乱码但是,对效果无影响,我用串口接上一个“TTL转RS485模块”然后再到RS485那里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 23:44:29 | 显示全部楼层
tsaiwn 发表于 2015-4-13 23:05
但是你的 Serial 不是 .print 到串口監視器
你同時把 pin 0, pin 1 連接到继电器开关 ?
這樣 .write 那 ...

有两个问题,那个刷新可能不太好,我用nano板 好像会死机,但是在不自动刷新的情况下也会死机,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-17 15:01 , Processed in 0.044754 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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