Serial1

Odpovědět
Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Serial1

Příspěvek od Ludek » 22 led 2022, 17:56

Zdravím...
dotaz. Jak mohu přiřadit jiné jméno pro Serial1 ? Mám na mysli, abych nepsal Serial1.print, ale RS485.print.
Když bych použil Software Serial tak to umím, ale HW seriálem né...

Kód: Vybrat vše

  #include <SoftwareSerial.h>
  SoftwareSerial RS485(2, 4);           // RX, TX
Jde mi o to, že nepoužiji SoftwareSerial, ale jeho vlastní Serial1

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Serial1

Příspěvek od kiRRow » 22 led 2022, 18:33

Nebude jednodušší pomocí příkazu najít a nahradit projít celý program a nahradit RS485 za Serial1 ?

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Serial1

Příspěvek od Ludek » 22 led 2022, 18:37

V podstatě jde všechno :-(
Ale mám to jako externí Makro... A tím chceš naznačit, že to nejde ???

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Serial1

Příspěvek od KamilV » 22 led 2022, 18:53

Co má být cílem?
Můžeš si udělat vlastní classu, která práci s HW serialem zapouzdří.

Kód: Vybrat vše

template <typename T>
class mySerial {
    void print(T data) {
        Serial.print(data);
    }
    void println(T data) {
        Serial.println(data);
    }
    ...
}

mySerial mySerial;
void setup() {
	mySerial.begin(3600);
	mySerial.println('Hello, world!');
}
Nebo si uděláš pointer na původní objekt:

Kód: Vybrat vše

HardwareSerial *mySerial = &Serial;

void setup() {
    mySerial->println('Hello, world!');
}

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Serial1

Příspěvek od Ludek » 22 led 2022, 19:22

Díky, až budu u stroje, zkusím.

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Serial1

Příspěvek od AstroMiK » 22 led 2022, 20:59

A nedalo by se to jen přejmenovat přes #define?

Kód: Vybrat vše

#define    RS485     Serial1
Pak se při překladu všude v programu automaticky nahradí řetězec "RS485" řetězcem "Serial1"

Uživatelský avatar
Diego
Příspěvky: 166
Registrován: 23 črc 2017, 09:43
Reputation: 0
Kontaktovat uživatele:

Re: Serial1

Příspěvek od Diego » 23 led 2022, 08:15

AstroMiK píše:
22 led 2022, 20:59
A nedalo by se to jen přejmenovat přes #define?

Kód: Vybrat vše

#define    RS485     Serial1
Pak se při překladu všude v programu automaticky nahradí řetězec "RS485" řetězcem "Serial1"
Dalo. Je to nejjednoduzsi. Taky to pouzivam
https://arze.cz - ARduino Zapojení Elektronika

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Serial1

Příspěvek od KamilV » 23 led 2022, 18:43

Ano, pokud člověk oželí našeptávání v IDE, což u Serialu asi opravdu moc nevadí, to má každý v hlavě.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 15 hostů