debug mit 328P über TxRx <-> Mega RxTx

Hallo,
328P und Mega sind nur über die Versorgungsspannung und einer DatenLeitung
miteinander "verbunden".
Der 328P wird über einen Programmer programmiert und als "Uno" angesprochen
und erkannt.
Auf dem Mega läuft ein Sketch, der "Serial.print" nicht nutzt.
Auf dem 328P habe ich einen Sketch der nicht macht, was ich ihm auftrage.

Wenn ich jetzt auf dem 328P "Serial.print" aktiviere, und eine Verbindung zum
Mega herstelle (TxRx<->RxTx), und der Mega über USB mit dem Mac verbunden ist,
bekomme ich dann die "Serial.printAusgaben" ohne Problem auf den seriellen
Monitor der IDE?
Gruß und Dank
Andreas

P.S. Den Bug habe ich gefunden, ändert aber nichts an der Frage.
"int" geht nur bis 32767 und nicht bis 43200.
man!!

Du musst den 328P mit einer der anderen Schnittstellen des Mega verbinden (z.B. Serial1). Dann leitest du einfach Serial1 auf Serial um:

while(Serial1.available())
   Serial.write(Serial1.read());

Fehlt ein Teil in diesem Beitrag? Sketch wäre nicht schlecht. Das ein int nur bis 32767 geht, ist doch nicht ungewöhnlich. mach mal ein unsigned int raus :wink:

Hallo,
naa- schon einmal so etwas programmiert? :slight_smile:

static uint32_t zStempel, zStempel2;
static uint8_t led_state;
static uint8_t last_led_state;
int intervall;
int val;
const int LED = 13;
const int potPin = 0;



void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(potPin, INPUT);
}

void loop()
{

 val = analogRead(potPin); 
 intervall = map(val,0,1023,60,43200); //2000Imp/kWh - 1kWh StandBy/Tg
 
if (millis() - zStempel > intervall)
{
	zStempel = millis();
	zStempel2 = zStempel;
	
	led_state = 1;
}

if(led_state == 1 && millis() - zStempel2 >= 50) led_state = 0;

if(last_led_state != led_state)
{
	last_led_state = led_state;
	digitalWrite(LED, led_state);
}
}

Gruß und Spaß
Andreas

Ich verstehe immer noch nicht, was du willst. Hast du gestern zu tief ins Glas gesehen oder warum alles nur schwammige Infos? :smiley:

Er will eine Atmega328 ohne USB Wandler per Serial debuggen. Mit einem Mega als Wandler.

Dazu darf man aber NICHT den 328 einfach so an Serial anschließen. Daran hängt ja schon der PC. Sondern muss eine der anderen Schnittstellen nehmen.

k.A. was der Rest mit dem "Bug" bedeuten soll...

An Serial kann er den theoretisch doch auch anschließen, ohne dass einen bestimmten Sketch auf dem Arduino Mega laufen lässt.
Einfach Rx an Rx und Tx an Tx an Pin 0 und 1 verbinden. Dann wird der 16u2 doch entspricht mit Infos beliefert die er über die COM Schnittstelle dann ausgibt.

Mmhh ja, es steht ja dabei dass der Mega Serial nicht nutzt. Dann könnte es auch so gehen.

Aber die Schnittstellen sind ja vorhanden. Da schadet es auch nichts das getrennt zu machen. Dann kommt man auch nicht durcheinander wenn doch mal Serial vom Mega verwendet wird. Kostet etwas RAM für die Serial Puffer, aber man hat ja genug.

Hallo,
ja, den Mega als Wandler. Ich probiere das einfach.
Wenn man sich beim "überfliegen" von Texten erwischen läßt, dann ist es fraglich, wer wohl zu tief ins Glas geschaut hat.
Ich- laufe dann zur "Höchstform" auf- Ihr wohl nicht? :*
Gruß und Spaß
Andreas

sschultewolter:
An Serial kann er den theoretisch doch auch anschließen, ohne dass einen bestimmten Sketch auf dem Arduino Mega laufen lässt.
Einfach Rx an Rx und Tx an Tx an Pin 0 und 1 verbinden. Dann wird der 16u2 doch entspricht mit Infos beliefert die er über die COM Schnittstelle dann ausgibt.

Nicht ganz.
Der 328 sendet mit dem TX.
Der Mega empfängt mit RX.

Also vertauschen, wie im Titel. Allerdings reicht es nur den TX vom 328 mit dem RX vom Mega anschließen.
Oder du nimmst ein TTL Wandler, die gleiche Suppe.

Das ist auch nicht was ich gemeint hatte. Was ich geschrieben hab, bezog sich drauf, den 16u2 des Arduino Megas zu nutzen ohne den den Atmega2560 selber zu nutzen :wink:

Ahh ok, den Satz nicht zuende gelesen :blush:

Hallo,
"Der 328 sendet mit dem TX.
Der Mega empfängt mit RX."

"bezog sich drauf, den 16u2 des Arduino Megas zu nutzen ohne"

Wie willst Du den 16U2 denn nutzen?
Pin 8 und 9 gehen zum Mega auf PE0 und PE1.
Pin 10 und 11 gehen auf die LED.
Oder sehe ich da etwas nicht?
Gruß und Spaß
Andreas