class Serial einem Objekt zuweisen

Hallo,

ich komme nicht weiter

ich möchte das die Class Serial bzw Serial1 einem Objekt zuweisen, wie zum Beispiel bei Servo

char ausgabe_flag='0';
void setup() {
  // serial begin
  Serial.begin(9600);
  // bluetooth
  Serial1.begin(9600);
  if(ausgabe_flag=='0') Serial mySerial;
  else  Serial1 mySerial;
}

Stelle ich mich zu "klug" an oder geht das nicht?

Gruß

Serial ist keine Class , sondern eine Instanz der Class HardwareSerial.

s. HardwareSerial.h

  extern HardwareSerial Serial;

michael_x:
Serial ist keine Class , sondern eine Instanz der Class HardwareSerial.

s. HardwareSerial.h

  extern HardwareSerial Serial;

Geht das dann überhaupt so?

#if defined(UBRRH) || defined(UBRR0H)
  extern HardwareSerial Serial;
#elif defined(USBCON)
  #include "USBAPI.h"
//  extern HardwareSerial Serial_;  
#endif
#if defined(UBRR1H)
  extern HardwareSerial Serial1;
#endif
#if defined(UBRR2H)
  extern HardwareSerial Serial2;
#endif
#if defined(UBRR3H)
  extern HardwareSerial Serial3;
#endif

Gruß
Stephan

Hallo,

ich habe jetzt folgendes probiert.

HardwareSerial *port;
void setup() {
  // serial begin
  Serial.begin(9600);
  // bluetooth
  Serial1.begin(9600);
  port = &Serial;
}

dann bekomme folgende Fehlermeldung

hitech.ino: In function 'void setup()':
hitech:49: error: cannot convert 'Serial_*' to 'HardwareSerial*' in assignment

Wo liegt der Fehler?

Gruß Stephan

PS: ich habe gerade rausgefunden das wenn ich Serial1 verwende keinen Fehler bekomme.

Hm, und wenn du es so machst:

Stream * sp;
boolean usb_output = true;

void setup()
{
   pinMode (10, INPUT_PULLUP); 
   usb_output = digitalRead(10);

   Serial.begin (115200);
   Serial1.begin(9600);
   Serial.println("Test Start");
   if ( usb_output ) sp = & Serial;
   else              sp = & Serial1;

   sp->println("switchable test output");

}

Das compiliert immerhin, für einen Arduino Mega 2560 ...