|
|
本帖最后由 hhhwwwyyy 于 2017-8-24 16:19 编辑
目标:用Arduino与Ethernet以太网扩展板通过有线网络实现与labVIEW的TCP/IP通信,以Labview作为服务端,Arduino作为客户端(相反的,以Labview作为客户端我已经实现,但是我要的是能用Labview为上位机控制多个Arduino进行数据通信,所以必须以Labview为通信端)。理论上Labview端只要提供端口号,然后Arduino访问labview程序运行所在的服务器地址和其提供的端口号就可以实现通信
遇到的问题:如果是客户端和服务端程序都是用LABVIEW写的是可以通信成功的,但是在客户端换成Arduino+Ethernet时,老是通信不成功,以下是Arduino代码:
请各位大佬们帮我解答解答,这已经困恼我好几天了,望不吝其教!
- #include<SPI.h>
- #include<Ethernet.h>
- byte mac [] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // 手动给Ethernet扩展板设置的MAC地址
- IPAddress ip( 172, 20, 28, 9 ); // 扩展板的IP地址
- byte server[] = { 10, 10, 50, 227 }; // 这是一个有固定IP地址的虚拟机服务器,LABVIEW 程序在此服务器上运行
-
- EthernetClient client;
-
- void setup()
- {
- Ethernet.begin(mac, ip);//初始化设置MAC与IP地址
- Serial.begin(9600);//初始化串口波特率9600
-
- delay(1000);
-
- Serial.println("connecting..."); // 串口输出状态 连接中...
-
- if (client.connect(server, 80)) { // 如果返回连接成功,以下语句输出状态
- Serial.println("connected");//串口输出:连接成功
- }
- else {
- Serial.println("connection failed");////没有连接成功则输出:连接失败
- }
- }
-
- void loop()
- { }
复制代码 |
|