Hi, den jeweils dritten "if" soltest du entfernen.
Unterschied & und ==
Beim Aufruf init (READ + WRITE
steht bei enable offensichtlich "3" drin
das ist weder == 1 (READ) noch == 2 (WRITE) also nix.
Mittels "&" fragst du das bit ab, also 00000001 oder 00000010

Schaut fast so aus, als würde dein Senden den receive interrupt auslösen.
und im EMpfangsregister steht, so scheint's, immer "[" drin
Kannst du mal dein komplettes Programm im jetzigen Zustand posten ?
mfg robert