Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Kedves Mindenki!
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ó ). Azt találtam ki, hogy a mérleg adatait közvetlenül adatbázisba továbbítanám (WGET paranccsal)... Ami megvan és működik az a web interfész, a STRING tömb amibe az érték bekerül és az ethernet kommunikáció is megy; ami nem megy az a mérleg lekéredezése/megszólítása. Soros monitorral megnéztem mi történik a PC és a mérleg között, ellenőriztem a soros port beállításait a PC-n és az arduino megát is hozzá állítottam (aztán lehet kellene még állítani!). Próbáltam használni MAX3232 convertert és csináltam kábelt is (2,3,5 lábak => mérleg leírásában ellenőriztem), de nem akar szóba állni velem Van ötlet?
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!
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ó ). Azt találtam ki, hogy a mérleg adatait közvetlenül adatbázisba továbbítanám (WGET paranccsal)... Ami megvan és működik az a web interfész, a STRING tömb amibe az érték bekerül és az ethernet kommunikáció is megy; ami nem megy az a mérleg lekéredezése/megszólítása. Soros monitorral megnéztem mi történik a PC és a mérleg között, ellenőriztem a soros port beállításait a PC-n és az arduino megát is hozzá állítottam (aztán lehet kellene még állítani!). Próbáltam használni MAX3232 convertert és csináltam kábelt is (2,3,5 lábak => mérleg leírásában ellenőriztem), de nem akar szóba állni velem Van ötlet?
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!
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Br@y terminállal nézd meg.
Nekem hiányzik az elválasztókarakter küldése.
Nekem hiányzik az elválasztókarakter küldése.
http://www.tavir.hu - a gazda
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Szerintem előbb programozni kellene megtanulni!
Mert ez a példa olyan, mint az állatorvosi ló! 1000 sebből vérzik!
Majd aztán nekifogni komolyabb feladathoz.
A hexa számot így írjuk: 0x58, ez rossz "58" ez 2db. karakter.
Ez nem tudom, mi akarna lenni?:
Serial1.write("0", HEX);? 0x0d = kurzor új sorba
Serial1.write("d", HEX);?
Serial1.write("0", HEX);? 0x0a = kurzor sor elejére
Serial1.write("a", HEX);?
De így szétbontva semmi értelme!
Ez mi?:
Serial1.write("58 41 2f 42 3f 0d 0a");
http://www.ascii.atw.hu
Szerintem:
Serial1.println("XA/B?"); az „println” automatikusan küldi a string végén a 0x0d, 0x0a parancsokat
Ez egyszerű szöveg értelmező gép lehet!
Ami adott szöveges utasításokat meg ért, és értelmes választ ad rá!
Nem hiszem, hogy a programozói ilyen HEXA bűvészkedéssel töltötték volna a drága idejüket!
Amiket ráadásul még hibásan is próbálsz használni!
Mert ez a példa olyan, mint az állatorvosi ló! 1000 sebből vérzik!
Majd aztán nekifogni komolyabb feladathoz.
A hexa számot így írjuk: 0x58, ez rossz "58" ez 2db. karakter.
Ez nem tudom, mi akarna lenni?:
Serial1.write("0", HEX);? 0x0d = kurzor új sorba
Serial1.write("d", HEX);?
Serial1.write("0", HEX);? 0x0a = kurzor sor elejére
Serial1.write("a", HEX);?
De így szétbontva semmi értelme!
Ez mi?:
Serial1.write("58 41 2f 42 3f 0d 0a");
http://www.ascii.atw.hu
Szerintem:
Serial1.println("XA/B?"); az „println” automatikusan küldi a string végén a 0x0d, 0x0a parancsokat
Ez egyszerű szöveg értelmező gép lehet!
Ami adott szöveges utasításokat meg ért, és értelmes választ ad rá!
Nem hiszem, hogy a programozói ilyen HEXA bűvészkedéssel töltötték volna a drága idejüket!
Amiket ráadásul még hibásan is próbálsz használni!
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Kedves Robert és Kapu48!
Köszönöm a segítséget az építő kritikát! A küldött kódból is látszik, hogy próbáltam először tömbbel "normálisan" megoldani, de csak okosabbtól lehet tanulni:
egyik féle:
Serial1.write(ask, sizeof(ask));
másik féle:
for(i = 0; i < 7; i++)
{
Serial1.print(ask);
Serial1.print(" ");
}
Igaz, ezt nem írtam le, tehát a tömböket pedig, így - is - próbáltam sikertelenül:
String ask[] = { "58", "41", "2f", "42", "3f", "0d", "0a" };
byte ask[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f, 0x0d, 0x0a };
char ask[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f, 0x0d, 0x0a };
Az 1000 sebből vérző lovat pedig innen vettem (remélem nem szegek szabályt a linkkel), itt soros port beállítás hiba volt:
https://prog.hu/tudastar/96701/merleg-s ... -elakadtam
Serial1.println("XA/B?"); => Ezzel kapcsolatban pedig visszajelzek, hogy mit kaptam/vagy nem kaptam válasznak; addig szíves türelmeteket kérem!
Köszönöm a segítséget az építő kritikát! A küldött kódból is látszik, hogy próbáltam először tömbbel "normálisan" megoldani, de csak okosabbtól lehet tanulni:
egyik féle:
Serial1.write(ask, sizeof(ask));
másik féle:
for(i = 0; i < 7; i++)
{
Serial1.print(ask);
Serial1.print(" ");
}
Igaz, ezt nem írtam le, tehát a tömböket pedig, így - is - próbáltam sikertelenül:
String ask[] = { "58", "41", "2f", "42", "3f", "0d", "0a" };
byte ask[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f, 0x0d, 0x0a };
char ask[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f, 0x0d, 0x0a };
Az 1000 sebből vérző lovat pedig innen vettem (remélem nem szegek szabályt a linkkel), itt soros port beállítás hiba volt:
https://prog.hu/tudastar/96701/merleg-s ... -elakadtam
Serial1.println("XA/B?"); => Ezzel kapcsolatban pedig visszajelzek, hogy mit kaptam/vagy nem kaptam válasznak; addig szíves türelmeteket kérem!
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Ez a project visual basic-ben készült!
Bővebben itt:
https://www.google.hu/search?client=ope ... 8&oe=UTF-8
https://microsoft-visual-basic.en.softonic.com/download
Ismerni kellene mindkét nyelvet, ha át akarod írni C++-be!
Bővebben itt:
https://www.google.hu/search?client=ope ... 8&oe=UTF-8
https://microsoft-visual-basic.en.softonic.com/download
Ismerni kellene mindkét nyelvet, ha át akarod írni C++-be!
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Serial.write - byte-t írok ki a soros vonalra. Azaz a spec karakterek ezzel mennek (0...31; 126...255).
Normál szövegre a serial.print("na ezt irdd ki"); illetve ha soremelés van: serial.println("na ezt irdd ki");
Viszont a soremelés lehet 10; 13; 10&13 kódú karakter is (rendszertől és beállítástól függőn!)
Normál szövegre a serial.print("na ezt irdd ki"); illetve ha soremelés van: serial.println("na ezt irdd ki");
Viszont a soremelés lehet 10; 13; 10&13 kódú karakter is (rendszertől és beállítástól függőn!)
http://www.tavir.hu - a gazda
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Kedves Robert és Kapu48!
Mivel üzem van, így több mindennel próbálkoztam egyszerre. Gondoltam hátha az RX és TX van elkötve, ezért már azt is megcseréltem hátha... Olyan, mint ha nem látná az Arduino a mérleget... Ez alapján: https://www.arduino.cc/en/Serial/Begin nagyon mást nem lehet megadni...
A kód részei / serial - PC-m soros monitora; serial1 - Arduino 2560Mega RX1ésTX1/:
byte ask[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f, 0x0d, 0x0a };
char ask_2[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f };
String ask_3[] = { "58", "41", "2f", "42", "3f" };
Serial.println("XA/B?");
Serial1.println("XA/B?");
Serial.println("................START_1................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_1................");
Serial.flush();
Serial1.flush();
Serial.write(ask, sizeof(ask));
Serial1.write(ask, sizeof(ask));
Serial.println("................START_2................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_2................");
Serial.flush();
Serial1.flush();
for (int i = 0; i < 5; i++)
{
Serial.print(ask_2);
}
Serial.print('\r');
Serial.print('\n');
for (int i = 0; i < 5; i++)
{
Serial1.print(ask_2);
}
Serial1.print('\r');
Serial1.print('\n');
Serial.println("................START_3................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_3................");
Serial.flush();
Serial1.flush();
for(i = 0; i < 5; i++)
{
Serial.print(ask_3);
Serial.print(" ");
}
Serial.print('\r');
Serial.print('\n');
for(i = 0; i < 5; i++)
{
Serial1.print(ask_3);
Serial1.print(" ");
}
Serial1.print('\r');
Serial1.print('\n');
Serial.println("................START_4................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_4................");
Serial.flush();
Serial1.flush();
for(i = 0; i < 5; i++)
{
Serial.print(ask_3);
}
Serial.print('\r');
Serial.print('\n');
for(i = 0; i < 5; i++)
{
Serial1.print(ask_3);
}
Serial1.print('\r');
Serial1.print('\n');
Serial.println("................START_5................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_5................");
Serial.flush();
Serial1.flush();
Serial.println("58 41 2f 42 3f");
Serial1.println("58 41 2f 42 3f");
Serial.println("................START_6................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_6................");
Serial.flush();
Serial1.flush();
Serial.println("58412f423f");
Serial1.println("58412f423f");
Serial.println("................START_7................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_7................");
Serial.flush();
Serial1.flush();
A válasz, ami megjelent a gépem soros monitorán:
XA/B?
................START_1................
-1
FFFFFFFF
................END_1................
XA/B?
................START_2................
-1
FFFFFFFF
................END_2................
XA/B?
................START_3................
-1
FFFFFFFF
................END_3................
58 41 2f 42 3f
................START_4................
-1
FFFFFFFF
................END_4................
58412f423f
................START_5................
-1
FFFFFFFF
................END_5................
58 41 2f 42 3f
................START_6................
-1
FFFFFFFF
................END_6................
58412f423f
................START_7................
-1
FFFFFFFF
................END_7................
Mivel üzem van, így több mindennel próbálkoztam egyszerre. Gondoltam hátha az RX és TX van elkötve, ezért már azt is megcseréltem hátha... Olyan, mint ha nem látná az Arduino a mérleget... Ez alapján: https://www.arduino.cc/en/Serial/Begin nagyon mást nem lehet megadni...
A kód részei / serial - PC-m soros monitora; serial1 - Arduino 2560Mega RX1ésTX1/:
byte ask[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f, 0x0d, 0x0a };
char ask_2[] = { 0x58, 0x41, 0x2f, 0x42, 0x3f };
String ask_3[] = { "58", "41", "2f", "42", "3f" };
Serial.println("XA/B?");
Serial1.println("XA/B?");
Serial.println("................START_1................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_1................");
Serial.flush();
Serial1.flush();
Serial.write(ask, sizeof(ask));
Serial1.write(ask, sizeof(ask));
Serial.println("................START_2................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_2................");
Serial.flush();
Serial1.flush();
for (int i = 0; i < 5; i++)
{
Serial.print(ask_2);
}
Serial.print('\r');
Serial.print('\n');
for (int i = 0; i < 5; i++)
{
Serial1.print(ask_2);
}
Serial1.print('\r');
Serial1.print('\n');
Serial.println("................START_3................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_3................");
Serial.flush();
Serial1.flush();
for(i = 0; i < 5; i++)
{
Serial.print(ask_3);
Serial.print(" ");
}
Serial.print('\r');
Serial.print('\n');
for(i = 0; i < 5; i++)
{
Serial1.print(ask_3);
Serial1.print(" ");
}
Serial1.print('\r');
Serial1.print('\n');
Serial.println("................START_4................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_4................");
Serial.flush();
Serial1.flush();
for(i = 0; i < 5; i++)
{
Serial.print(ask_3);
}
Serial.print('\r');
Serial.print('\n');
for(i = 0; i < 5; i++)
{
Serial1.print(ask_3);
}
Serial1.print('\r');
Serial1.print('\n');
Serial.println("................START_5................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_5................");
Serial.flush();
Serial1.flush();
Serial.println("58 41 2f 42 3f");
Serial1.println("58 41 2f 42 3f");
Serial.println("................START_6................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_6................");
Serial.flush();
Serial1.flush();
Serial.println("58412f423f");
Serial1.println("58412f423f");
Serial.println("................START_7................");
Serial.println(Serial1.read());
Serial.println(Serial1.read(),HEX);
Serial.println(Serial1.readString());
Serial.println("................END_7................");
Serial.flush();
Serial1.flush();
A válasz, ami megjelent a gépem soros monitorán:
XA/B?
................START_1................
-1
FFFFFFFF
................END_1................
XA/B?
................START_2................
-1
FFFFFFFF
................END_2................
XA/B?
................START_3................
-1
FFFFFFFF
................END_3................
58 41 2f 42 3f
................START_4................
-1
FFFFFFFF
................END_4................
58412f423f
................START_5................
-1
FFFFFFFF
................END_5................
58 41 2f 42 3f
................START_6................
-1
FFFFFFFF
................END_6................
58412f423f
................START_7................
-1
FFFFFFFF
................END_7................
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Kedves Kapu48!
Hasznos leírás, köszönöm! Kérek szépen 1-2 napot, hogy átnézzem... Próbáltam hasonlót (https://www.arduino.cc/en/Serial/Available), de válasz nem jött, cserébe várt a végtelenségig... Szíves türelmedet kérem!
Hasznos leírás, köszönöm! Kérek szépen 1-2 napot, hogy átnézzem... Próbáltam hasonlót (https://www.arduino.cc/en/Serial/Available), de válasz nem jött, cserébe várt a végtelenségig... Szíves türelmedet kérem!
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Proba:
Kód: Egész kijelölése
// SerialTest01.ino
int readline(int readch, char *buffer, int len)
{
static int pos = 0;
int rpos;
if (readch > 0) {
//Serial.print(readch, HEX); // test?
switch (readch) {
case '\n': // Ignore new-lines
break;
case '\r': // Return on CR
rpos = pos;
pos = 0; // Reset position index ready for next time
return rpos;
default:
if (pos < len-1) {
buffer[pos++] = readch;
buffer[pos] = 0;
}
}
}
// No end of line has been found, so return -1.
return -1;
}
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
Serial1.println("XA/B?"); // Ide ird a küldendö parancsot
}
void loop()
{
static char buffer[20];
if (readline(Serial1.read(), buffer, 20) > 0) {
Serial.println("!"); // Ha jött a végén '\n','\r'
Serial.print("You entered: >");
Serial.print(buffer);
Serial.println("<");
}else{
Serial.print("."); // Ha jött 1 karakter ...
}
}
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Kedves Kapu48!
Holnap megpróbálom a küldött kódot! Annyit változtattam a kódon, hogy megadom a serial1 paramétereit (erre van állítva a PC is):
Serial1.begin(9600, SERIAL_8N1);
Jelzem az eredményt!!!
Holnap megpróbálom a küldött kódot! Annyit változtattam a kódon, hogy megadom a serial1 paramétereit (erre van állítva a PC is):
Serial1.begin(9600, SERIAL_8N1);
Jelzem az eredményt!!!
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Kedves Kapu48!
Köszönöm még egyszer a kódot!!! Ez jött válasznak egy sorban a végtelenségig: .................................................................
Kipróbáltam kábelellel (2,3,5 láb) és MAX3232 adapterrel is. Cseréltem RX-TX lábat (összesen 4 féleképp). Küldök egy leírást a mérlegről és a PC beállításairól...
Köszönöm még egyszer a kódot!!! Ez jött válasznak egy sorban a végtelenségig: .................................................................
Kipróbáltam kábelellel (2,3,5 láb) és MAX3232 adapterrel is. Cseréltem RX-TX lábat (összesen 4 féleképp). Küldök egy leírást a mérlegről és a PC beállításairól...
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
... Mit nézek el?
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Kedves Robert, Kapu48 és Többiek!
A jövő héten kipróbálom a kapott kódot egy másik 2560 mega boarddal is, bár nem gondolom, hogy ez rossz..., ha ugyan azt az eredményt kapom, akkor ezen a vonalon megyek tovább:
https://www.arduino.cc/en/Tutorial/MultiSerialMega
https://www.arduino.cc/en/Tutorial/TwoPortReceive
Ha van még ötletetek abszolut vevő vagyok rá!!!
A jövő héten kipróbálom a kapott kódot egy másik 2560 mega boarddal is, bár nem gondolom, hogy ez rossz..., ha ugyan azt az eredményt kapom, akkor ezen a vonalon megyek tovább:
https://www.arduino.cc/en/Tutorial/MultiSerialMega
https://www.arduino.cc/en/Tutorial/TwoPortReceive
Ha van még ötletetek abszolut vevő vagyok rá!!!
Re: Metrisoft MS-01/XXX hídmérleg EMX100/111 fejjel
Először a HW-t tedd rendbe. A MAX3232-vel kiynírtad az AVR-t, ahogyan a direkt Tx/Rx bekötéssel is.
A mintakódod 4800 bps-t Ír, Even paritással.
Azaz _köze nincs_ az általad mintaként használthoz.
A PC mintaképed esetén nem látszik a kommunikáció - a vezérlőpult nem azt adja vissza. A SerialMonitor programét add meg.
A mintakódod 4800 bps-t Ír, Even paritással.
Azaz _köze nincs_ az általad mintaként használthoz.
A PC mintaképed esetén nem látszik a kommunikáció - a vezérlőpult nem azt adja vissza. A SerialMonitor programét add meg.
http://www.tavir.hu - a gazda