Forum: Mikrocontroller und Digitale Elektronik SoftwareSerial mit ATtiny85 -> Uno String Problem


von Commander_Video (Gast)


Lesenswert?

Hi :)

Was möchte ich tun;
Einen String seriell übertragen, vom ATtiny85, zum Arduino Uno, um 
diesen über USB an den seriellen Monitor zu senden.

Mein Problem ist;
Ich bekomme nur den String="Test" am seriellen Monitor angezeigt, wenn 
ich die Rx und Tx Kabel abziehe, bzw. wieder anklemme, warum ?

Was ich gemacht habe;
Kommunikation zwischen Zwei Uno´s hat geklappt !
Rx und Tx mit 220 Ohm verdrahtet. // ist das notwendig ?

Attiny Code:----------------------------------------------
#include <SoftwareSerial.h>

#define P0 0 //SDA, PWM
#define P1 1 //PWM OnBoard-LED
#define P2 2 //SCK, AD, INT0
#define Rx 3 //Serial
#define Tx 4 //Serial
#define P5 5 //Only-AD

SoftwareSerial TinySerial(Rx, Tx);

String Wort = "Test";
bool State = 1;
unsigned long  RT = 0;

void setup() {
  pinMode(Rx, INPUT); // Stammt nicht von mir, notwendig ?
  pinMode(Tx, OUTPUT); // Stammt nicht von mir, notwendig ?
  pinMode(P1, OUTPUT);
  TinySerial.begin(9600);
}

void loop() {
  if ((millis() - RT) >= 500) {
    TinySerial.println(Wort);
    State = !State;
    digitalWrite(P1, State);
    RT = millis();
  }
}

Uno Code:----------------------------------------------
#include <SoftwareSerial.h>
SoftwareSerial Extern(10, 11); // RX,TX

#define LED 13
String incomingString = "";
unsigned long  RT = 0;
bool State = 1;

void setup() {
  Serial.begin(9600);
  Extern.begin(9600);
  pinMode(LED, OUTPUT);
}

void loop() {
  if (Extern.available()) {
    incomingString = Extern.readString();
    Serial.println(incomingString);
  }

  if ((millis() - RT) >= 500) {
    State = !State;
    digitalWrite(LED, State);
    RT = millis();
  }
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.