when i use the hardware port, send the date it works fine.i am reading data from a RFID-Reader and if the Transponders is held into the antenna-field, the reader sends the transponder-number over and over again.but i only need it once, so i use the controll-function to check if the data, which i read is different from the data i read the last time.and for some reasons, when i try to use the software serial port that doesnt work anymore.

You know that interrupts are disabled during the whole transfer of a byte using the SoftwareSerial class, don't you? If you use SoftwareSerial you generally shouldn't expect that anything other is going on on that Arduino during that use, at least not in a timely manner.

the complete code is very long and has a lot of stuff, that has nothing to do with the part, that is causing the problem.

should i post it anyway?

and yeah i know that.

it seems like, when i send stuff with the software serial it screws with the buffer of serial3.(could that be?)changes some bytes for what ever reason, which causes the if( puffer[4] != (byte) comein_3[9] ) to become true, despite the fact that the some transponder is beeing read.

Showing us just excerpts of your code doesn't allow us to find the parts that may interfere. For example you don't show how the serials are initialized or how the buffers are defined.Ideally you minimize your sketch to the smallest size still showing the problem you described. Then post that code.

Quote

it seems like, when i send stuff with the software serial it screws with the buffer of serial3.(could that be?)

I don't think so. It's more probable that you miss some characters if the interrupts are disabled for a too long time because the serial buffers are filled within interrupt service routines. If you have 4 serial interfaces receiving data and sending that data out using a SoftwareSerial chances are quite high that the SoftwareSerial code is using so much processor time (with interrupts disabled) that the serial receiving is not reliable anymore.

Your serial_out connection has a baud rate of 2400. Sending of one byte needs about 4ms, during this time interrupts are disabled. The hardware of the 4 hardware serial interfaces can hold 1 Byte then an interrupt service routine has to copy that byte from the internal register to a buffer in the RAM. If this is not done until the next byte is completely received, that byte gets lost. During the 4ms of your SoftwareSerial transmission each of the 4 hardware serial interfaces can receive up to 4 characters, 3 of them are lost because the interrupt is disabled. Did you get the problem? Don't use SoftwareSerial in this setup!