External Interrupt stops Program

Hallo I have a Problem with external Interrupts in my Program everytime a Interrupt occurs the Program is

freezing.

The RTC and the Interrupts alone run perfectly

Does anybody have an answer to this Problem?

Please Help I am Completely new to programming.

///////////The Code/////////////

#include <DS3231.h>
// Init the DS3231 using the hardware interface
DS3231 rtc(SDA, SCL);

#include <Time.h>
#include <Wire.h>

byte sensorPin = 2;

long pulseCount;

void setup()
{
Serial.begin(250000); // Setup Serial connection
rtc.begin();

pinMode(sensorPin, INPUT);
digitalWrite(sensorPin, HIGH);

attachInterrupt(2, pulseCounter, RISING);
}

void loop()

{
Serial.print("Uhr ");
printZiffernGenulltOhnePunkt(hour()); // rufen Subroutine auf
printZiffernGenulltmitPunkt(minute()); // rufen Subroutine auf
printZiffernGenulltmitPunkt(second()); // rufen Subroutine auf
Serial.println(); // fuegen Freizeichen und Uhr ein
Serial.print("Datum "); // fuegen Datum und Freizeichen ein
printZiffernGenulltOhnePunkt(day()); // rufen Subroutine auf
Serial.print("."); // fuegen Freizeichen ein
printZiffernGenulltOhnePunkt(month()); // rufen Subroutine auf
Serial.print("."); // fuegen Freizeichen ein
Serial.println(year()); // Zeilenvorschub
Serial.print("Tag der Woche ist: "); // fuegen Freizeichen ein
Serial.println(weekday()); // Zeilenvorschub
}

void printZiffernGenulltOhnePunkt(int zahl) // definieren Subroutine
{
// verschoenern Anzeige, indem wir ...
if(zahl < 10) // wenn kleiner als 10 ...
{
Serial.print(""); // fuehrende 0 einfuegen
}
Serial.print(zahl); // Ausgabe auf serieller Konsole
}

void printZiffernGenulltmitPunkt(int zahl) // definieren Subroutine
{
// verschoenern Anzeige, indem wir ...
Serial.print(":"); // trennende ":" einfuegen
if(zahl < 10) // wenn kleiner als 10 ...
{
Serial.print('0'); // fuehrende 0 einfuegen
}
Serial.print(zahl); // Ausgabe auf serieller Konsole
}

void pulseCounter()
{
Serial.print("pulseCount");
Serial.println(pulseCount++);
float verbrauch = pulseCount;
verbrauch = verbrauch / 5.043;
Serial.print("Verbrauch gesamt: "); Serial.print(verbrauch); Serial.println(" ml");
}

due_test.ino (1.92 KB)

Yes I know exactly what your problem is.
You can not print from an interrupt service routine as this requires the interrupts to be on and they default to off in an ISR.
Basically don't do it.

But Why does it work on the Mega 2560 ?

flippomatik:
But Why does it work on the Mega 2560 ?

If it does it is only a fluke. You should never print in an ISR.

(I am Really totally new to Programming)

Then why will you not accept advice?

You sound like a time waster good bye.

Ok thank you very much for your Help.