Das liegt daran, dass du versuchst den Präprozessor mit Laufzeitdaten zu füttern. Du musst dich schon entscheiden: Entweder den UBBR-Wert zur Laufzeit berechen, oder beim Compilieren (dann dürfen da natürlich keine Laufzeitvariablen drin enthalten sein). Bei einer Laufzeitberechnung geht die Überprüfung des Wertes beim Compilieren natürlich nicht.