Eventuell so?
Code:// Send ///////////////////////////////////////////////////////////// int RS232_send(char *c, int length, int blocking) { int i=0; for (i=0; i < length;i++) { if ((cWriteBufferSize + WritePointer1 - WritePointer0) % cWriteBufferSize > (cWriteBufferSize - 2)) { if (blocking) { while((cWriteBufferSize + WritePointer1 - WritePointer0) % cWriteBufferSize > (cWriteBufferSize - 2)); } else { goto End; } } TXComplete = cTXComplete; asm("cli"); WriteBuffer[WritePointer1++] = c[i]; if (WritePointer1 > cWriteBufferSize - 1) WritePointer1 = 0; asm("sei"); UCSRB = (1<<TXEN) | (1<<UDRIE); } End:return i; }







Zitieren

Lesezeichen