A következőben szeretném kérni a segítségeteket. A cégünknél van több hídmérleg és RS232-n csatlakozik PC-hez, mivel van VPN és terminál szerver is rengeteg problémát és költséget okoz (jogszabályok miatt, a szerkezet jó
Amit a soros monitoron látok a PC-n:
58 41 2f 42 3f d 0a "XA/B?.." => ASCII PC kérdés
41 58 2f 42 3d 39 39 39 39 39 53 0d 0a "AX/B=99999S.." => ASCII mérleg válasz (99 999 Kg)
A PC soros port beállítása a következő:
Port ..................... 1
Baud .................... 9600
Databit ................. 8
Stopbit ................. 1
Parity .................. None
Késleltetés ........... 5000
Az Arduino 2560 Mega főbb részei:
void setup(){
Serial.begin(9600); //ellenőrzéshez
Serial1.begin(9600, SERIAL_8N1); //itt van a mérleg
---------------------------------------------------------------------------
void loop(){
...
//Serial1.write("58 41 2f 42 3f 0d 0a");
//Serial1.write("58 41 2f 42 3f \r\n");
//Serial1.write("XA/B? \r \n");
//Serial1.write("58 41 2f 42 3f");
/*Serial1.write("XA/B?", HEX);
Serial1.write('\r');
Serial1.write('\n');
Serial1.write("58", HEX);
Serial1.write("41", HEX);
Serial1.write("2f", HEX);
Serial1.write("42", HEX);
Serial1.write("3f", HEX);
Serial1.write("0", HEX);
Serial1.write("d", HEX);
Serial1.write("0", HEX);
Serial1.write("a", HEX);
Serial1.write("X");
Serial1.write("A");
Serial1.write("/");
Serial1.write("B");
Serial1.write("?");
Serial1.write('\r');
Serial1.write('\n');
*/
Serial1.write("X", HEX); //Itt adtam fel ( próbáltam még serial.print -el is! mindet )
Serial1.write("A", HEX); //Itt adtam fel
Serial1.write("/", HEX); //Itt adtam fel
Serial1.write("B", HEX); //Itt adtam fel
Serial1.write("?", HEX); //Itt adtam fel
Serial1.write('\r'); //Itt adtam fel
Serial1.write('\n'); //Itt adtam fel
//Serial1.write(ask, sizeof(ask));
/*for(i = 0; i < 7; i++)
{
Serial1.print(ask);
Serial1.print(" ");
}
*/
//Serial1.write(Serial.read());
//Serial.println();
Serial.println(Serial1.read()); //Itt látom mi jön válasznak
Serial.println(Serial1.read(),BIN); //Itt látom mi jön válasznak
Serial.println(Serial1.read(),HEX); //Itt látom mi jön válasznak
Serial.println(Serial1.read(),DEC); //Itt látom mi jön válasznak
Serial.println(Serial1.read(),OCT); //Itt látom mi jön válasznak
Serial.println(Serial1.readString()); //Itt látom mi jön válasznak
/*
for (int i=0; i<5; i++)
{
Serial.write(Serial1.read());
}
*/
Serial.println("END"); //Itt látom mi jön válasznak
Serial.println(); //Itt látom mi jön válasznak
Serial1.flush();
...
Amit "válasznak" kapok az arduinon:
-1 //sima read
11111111111111111111111111111111 //BIN
FFFFFFFF //HEX
-1 //DEC
37777777777 //OCT
//STRING
END //üzenet vége
Várom szíves segítő válaszaitokat!