Hi Julian!
das erste printf liefert ein anderes Ergebnis als das zweite.
Das verstehe ich nicht. Irgendein Mysterium muss daran schuld sein.
Was liefert sizeof(PORTB)?
Kann es sein, dass PORTB kein Makro, sondern eine Variable ist? Nach schnellem Überfliegen deiner Projektseite ist mir aufgefallen, dass du PORTB = 0xff; initialisierst. Vielleicht liegt da das Problem.
Ich finde es schon sehr beeindruckend, was du da machst. Ich bin 20 und habe mich vor kurzem (rein theoretisch) mit einem Z80 herumgeschlagen. Das hat mir schon gereicht. =)
Achja, das Schlüsselwort volatile ist ein Typqualifizierer und bittet den Compiler höflich darum, keine Optimierungen an Anweisungen, in denen so definierte Objekte vorkommen, vorzunehmen. Meistens braucht man das, wenn das Objekt zu einem beliebigen Zeitpunkt von außen verändert werden kann. Interrupts z.B. liegen außerhalb der Kontrolle des Programms.
MfG H☼psel
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)