Stránka 1 z 1
Serial1
Napsal: 22 led 2022, 17:56
od Ludek
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
Re: Serial1
Napsal: 22 led 2022, 18:33
od kiRRow
Nebude jednodušší pomocí příkazu najít a nahradit projít celý program a nahradit RS485 za Serial1 ?
Re: Serial1
Napsal: 22 led 2022, 18:37
od Ludek
V podstatě jde všechno

Ale mám to jako externí Makro... A tím chceš naznačit, že to nejde ???
Re: Serial1
Napsal: 22 led 2022, 18:53
od KamilV
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!');
}
Re: Serial1
Napsal: 22 led 2022, 19:22
od Ludek
Díky, až budu u stroje, zkusím.
Re: Serial1
Napsal: 22 led 2022, 20:59
od AstroMiK
A nedalo by se to jen přejmenovat přes #define?
Pak se při překladu všude v programu automaticky nahradí řetězec "RS485" řetězcem "Serial1"
Re: Serial1
Napsal: 23 led 2022, 08:15
od Diego
AstroMiK píše: ↑22 led 2022, 20:59
A nedalo by se to jen přejmenovat přes #define?
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
Re: Serial1
Napsal: 23 led 2022, 18:43
od KamilV
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ě.