Ich habe ein komplette neues Makefile gemacht.
Stimmt, du hast Recht. Er muss das Empfangen abbrechen, wenn blocking nicht ktiviert ist. Macht er aber bis jetzt nicht. Dann hat das Buch Band II aber auch diesen netten Fehler. Die Funktion sollte dann wohl so aussehen:
Code:
// Receive //////////////////////////////////////////////////////////
int RS232_receive(char *c, int length, int blocking) {
   int i;
   for (i=0; i<length; i++) {
      if (ReadPointer0 == ReadPointer1) {
         if (blocking) while(ReadPointer0 == ReadPointer1);
         else {
          return i;
          abort;
          }
      }
      c[i] = ReadBuffer[ReadPointer1++];
      if (ReadPointer1 > cReadBufferSize - 1) ReadPointer1 = 0;
   }
   return length;
}
Damit nicht weiter empfangen wird, wird die Funktion abgebrochen. Fertsch. So sollte es doch gehen.

Warum eine main Funktion? Das Macht doch keinen Sinn. Es handelt sich dabei um ein Modul. Und dafür braucht man doch keine Main Funktion. Einen Header muss ich noch machen, vielleicht gehts ja dann auch...

Danke,
Bääääär

//EDIT: Ich habe grade festgestellt, dass es kein abort; gibt. Was könnte man sonst nehmen?