rs-232 <-> Ethernet
- Войдите на сайт для отправки комментариев
Втр, 14/06/2016 - 18:31
Хочу сделать сабж.
Arduino UNO R3 + W5100
/* The circuit: * RX is digital pin 3 (connect to TX of other device) * TX is digital pin 5 (connect to RX of other device) */ #include <SoftwareSerial.h> #include <SPI.h> #include <Ethernet.h> SoftwareSerial mySerial(3, 5); // RX, TX // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network. // gateway and subnet are optional: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 1, 177); IPAddress myDns(192,168,1, 1); IPAddress gateway(192, 168, 1, 1); IPAddress subnet(255, 255, 0, 0); // telnet to port 509 EthernetServer server(509); boolean alreadyConnected = false; // whether or not the client was connected previously void setup() { // initialize the ethernet device Ethernet.begin(mac, ip, myDns, gateway, subnet); // start listening for clients server.begin(); // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } Serial.print("Chat server address:"); Serial.println(Ethernet.localIP()); // set the data rate for the SoftwareSerial port mySerial.begin(9600); mySerial.println("Hello, world?"); } void loop() { // wait for a new client: EthernetClient client = server.available(); // when the client sends the first byte, say hello: //if (client) { // if (!alreadyConnected) { // clear out the input buffer: // client.flush(); // Serial.println("We have a new client"); // client.println("Hello, client!"); // alreadyConnected = true; // } if (client.available() > 0) { // read the bytes incoming from the client: byte thisChar = client.read(); //char thisChar = client.read(); // echo the bytes back to the client: server.write(thisChar); // echo the bytes to the server as well: Serial.write(thisChar); //mySerial.write(thisChar); mySerial.println(thisChar, HEX); //} } if (mySerial.available()) { byte serChar = mySerial.read(); Serial.write(serChar); server.write(serChar); //} } }
А вот com-port, который прилеплен на 3 и 5 ногу выдает билиберду. И обратно, если с com-port`a посылать данные, то в native com и в telnet`e тоже билиберда. Подскажите, где я не прав?