gpt4 book ai didi

arduino - Arduino Ethernet 的库 IPAddress() 有什么好处?

转载 作者:太空狗 更新时间:2023-10-29 15:36:09 32 4
gpt4 key购买 nike

Arduino 默认 Ethernet library class包含 IPAddress变量类型。这个 IPAddress 有什么用?我为什么要使用它,为什么它不用于 official example 中的网关和子网 IP ?

最佳答案

就像你说的,它只是一种可以存储IP地址的变量(例如int(整数))。使用整数,你不能添加. IP 地址中需要。此外,该库只接受整数,因为对于字符串,事情“会变得一团糟”。例如,如果字符串中有 1,则不能将其与其他数字相加。但是,如果您具有值为 1 的整型变量类型,则可以轻松添加。


我该如何使用它?

关于 Arduino's EthernetIpAdress page ,有这段代码:

 #include <Ethernet.h>

// network configuration. gateway and subnet are optional.

// the media access control (ethernet hardware) address for the shield:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// the router's gateway address:
byte gateway[] = { 10, 0, 0, 1 };
// the subnet:
byte subnet[] = { 255, 255, 0, 0 };

EthernetServer server = EthernetServer(23);

//the IP address is dependent on your network
IPAddress ip(192,168,1,1);
void setup()
{
// initialize the ethernet device
Ethernet.begin(mac, ip, gateway, subnet);

// start listening for clients
server.begin();
}
void loop()
{
//print out the IP address
Serial.println(myIPaddress);
}

IPAddress ip(192,168,1,1); 行中,它创建了一个保存 IP 地址的变量。在 Ethernet.begin(mac, ip, gateway, subnet); 行中,查找变量并将其提供给 Ethernet 库。除了试图阻止人们使用整数类型并使其看起来更干净之外,我不知道有什么好处。它可以查找自动发布的 IP 地址,然后将其存储以备后用,因此如果它进入“空闲模式”,它可以请求相同的 IP 地址,因此它几乎就像一个不会干扰其他设备的动态 IP并在按下重置按钮时重置。我确信它有一些用处,但我想不出一个。我只是想告诉你它是什么以及如何使用它。我认为,如果您希望它易于更改或提高用户可读性,那么使用 #define IPadress 192.168.1.1 或类似的东西会更容易。

关于arduino - Arduino Ethernet 的库 IPAddress() 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224740/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com