RS232 Arduino Mega Board

Kann ich über RS232 RX TX irgendeine Zeichenkette mit meinem Mega verschicken? Und wenn ja könnte jemand einen Beispiel Code posten?
Ich möchte B123111111111S senden. Rx Tx sind ja vorhanden sogar mehrere Schnittstellen wenn ich mich nicht irre.

zusätzliche frage brauche ich diesen komischen Max 3323 chip? und wie heißen die alternativen? oder kann der mega das auch schon so?

#include <ctype.h>

#define bit9600Delay 84
#define halfBit9600Delay 42
#define bit4800Delay 188
#define halfBit4800Delay 94

byte rx = 15;
byte tx = 14;
byte SWval;

void setup() {
pinMode(rx,INPUT);
pinMode(tx,OUTPUT);
digitalWrite(tx,HIGH);
digitalWrite(13,HIGH); //turn on debugging LED
SWprint('h'); //debugging hello
SWprint('i');
SWprint(10); //carriage return
}

oben im quelltext , darf ich hier pin 14 und 15 des mega boards verwenden?

@ at_on
Wieso machst Du das so kompliziert?
Der Mega hat 4 UART (serielle Hardware Interface)
Du mußt nur mit der richtigen Zahl ansprechen: Serial.begin für die erste, Serial1.begin für die 2. Schnittstelle ecc.

Bei anderen Arduinos die nur eine UART haben kann man die SoftwareSerial- oder NewSoftSerial Library verwenden um eine 2. Serielle Schnittstelle zu bekommen.
http://www.arduino.cc/en/Tutorial/SoftwareSerial , NewSoftSerial | Arduiniana

Der Max 3323 ist ein Interface Baustein der aus 5V die für die RS232 notwendigen Spannungen erzeugt und die Pegelunwandlun von TTL ( 0 und 5V) auf Rs232 (-3bis -25V und 3 bis 25V) vornimmt.
Anstatt eines MAX 3323 oder ähnlichem Baustein kannst Du auch einen TL232 nehmen, wie es die älteren Arduinos haben. Externes bord zb:http://www.watterott.com/de/FTDI-Basic-Breakout-5V.

Zeichenkette empfangen: Es werden 14 zeichen übertragen ode wenn weniger nach 0,5 Sekunden dei Übertragung (der String) als beendet angenommen.

char Data[15]; // Anzahl der überragenen bytes +1
int i;
unsigned long Tempo;

void setup()
{
Serial.begin(9600);
}

void loop(){

do {
if (Serial.available()) {
Data = Serial.read();

  • i++;*
  • } *
  • if(i<1)Tempo = millis();*
  • } while (i<14&&(millis()-Tempo) < 500);*

_ Data *= 0; *_

}[/quote]
Zeichenkette senden:
> void setup()
> {
> Serial.begin(9600); // erste serielle Schnittstelle
> Serial1.begin(9600); // zweite serielle Schnittstelle
> }
>
> void loop(){
> Serial.print("B123111111111S"); // an erste serielle Schnittstelle schicken
> Serial1.print("B133333333333S"); // an zweite serielle Schnittstelle schicken
> }
Grüße Uwe