极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9251|回复: 0

新手求助W5100模块最基础的问题!

[复制链接]
发表于 2014-5-27 17:41:18 | 显示全部楼层 |阅读模式
我是使用arduino的新手,最近在捣鼓w5100,遇到了一点问题。
我在测试官方的样例代码,
http://bildr.org/2011/06/arduino-ethernet-pin-control/

  1. #include <Ethernet.h>
  2. #include <SPI.h>
  3. boolean reading = false;

  4. ////////////////////////////////////////////////////////////////////////
  5. //CONFIGURE
  6. ////////////////////////////////////////////////////////////////////////
  7.   //byte ip[] = { 192, 168, 0, 199 };   //Manual setup only
  8.   //byte gateway[] = { 192, 168, 0, 1 }; //Manual setup only
  9.   //byte subnet[] = { 255, 255, 255, 0 }; //Manual setup only

  10.   // if need to change the MAC address (Very Rare)
  11.   byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

  12.   EthernetServer server = EthernetServer(80); //port 80
  13. ////////////////////////////////////////////////////////////////////////

  14. void setup(){
  15.   Serial.begin(9600);

  16.   //Pins 10,11,12 & 13 are used by the ethernet shield

  17.   pinMode(2, OUTPUT);
  18.   pinMode(3, OUTPUT);
  19.   pinMode(4, OUTPUT);
  20.   pinMode(5, OUTPUT);
  21.   pinMode(6, OUTPUT);
  22.   pinMode(7, OUTPUT);
  23.   pinMode(8, OUTPUT);
  24.   pinMode(9, OUTPUT);

  25.   Ethernet.begin(mac);
  26.   //Ethernet.begin(mac, ip, gateway, subnet); //for manual setup

  27.   server.begin();
  28.   Serial.println(Ethernet.localIP());

  29. }

  30. void loop(){

  31.   // listen for incoming clients, and process qequest.
  32.   checkForClient();

  33. }

  34. void checkForClient(){

  35.   EthernetClient client = server.available();

  36.   if (client) {

  37.     // an http request ends with a blank line
  38.     boolean currentLineIsBlank = true;
  39.     boolean sentHeader = false;

  40.     while (client.connected()) {
  41.       if (client.available()) {

  42.         if(!sentHeader){
  43.           // send a standard http response header
  44.           client.println("HTTP/1.1 200 OK");
  45.           client.println("Content-Type: text/html");
  46.           client.println();
  47.           sentHeader = true;
  48.         }

  49.         char c = client.read();

  50.         if(reading && c == ' ') reading = false;
  51.         if(c == '?') reading = true; //found the ?, begin reading the info

  52.         if(reading){
  53.           Serial.print(c);

  54.            switch (c) {
  55.             case '2':
  56.               //add code here to trigger on 2
  57.               triggerPin(2, client);
  58.               break;
  59.             case '3':
  60.             //add code here to trigger on 3
  61.               triggerPin(3, client);
  62.               break;
  63.             case '4':
  64.             //add code here to trigger on 4
  65.               triggerPin(4, client);
  66.               break;
  67.             case '5':
  68.             //add code here to trigger on 5
  69.               triggerPin(5, client);
  70.               break;
  71.             case '6':
  72.             //add code here to trigger on 6
  73.               triggerPin(6, client);
  74.               break;
  75.             case '7':
  76.             //add code here to trigger on 7
  77.               triggerPin(7, client);
  78.               break;
  79.             case '8':
  80.             //add code here to trigger on 8
  81.               triggerPin(8, client);
  82.               break;
  83.             case '9':
  84.             //add code here to trigger on 9
  85.               triggerPin(9, client);
  86.               break;
  87.           }

  88.         }

  89.         if (c == '\n' && currentLineIsBlank)  break;

  90.         if (c == '\n') {
  91.           currentLineIsBlank = true;
  92.         }else if (c != '\r') {
  93.           currentLineIsBlank = false;
  94.         }

  95.       }
  96.     }

  97.     delay(1); // give the web browser time to receive the data
  98.     client.stop(); // close the connection:

  99.   }

  100. }

  101. void triggerPin(int pin, EthernetClient client){
  102. //blink a pin - Client needed just for HTML output purposes.  
  103.   client.print("Turning on pin ");
  104.   client.println(pin);
  105.   client.print("<br>");

  106.   digitalWrite(pin, HIGH);
  107.   delay(25);
  108.   digitalWrite(pin, LOW);
  109.   delay(25);
  110. }
复制代码


我看了代码的大意,意思是通过在浏览器输入类似于http://192.168.1.167/?23456789这样的命令然后会依次在2,3,4,5,6,7,8,9这几个Pin上设为高电平(如果有灯的话就亮),并且制作一个相应的网页作为反馈。

其中该设备的ip和读取的字符串会在串口监视里输出,可现在的问题就是,我的ip输出了,但是读取的字符串却没有显示,相应的反馈网页也是显示该网页无法访问。

这是为什么?
回复

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-6 00:27 , Processed in 0.035514 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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