Gast
#761970
Hallo
Ich benutze folgende macros um auf die Portpins eine ATmega2560
zuzugreifen:
struct bits {
UINT8 b0:1;
UINT8 b1:1;
UINT8 b2:1;
UINT8 b3:1;
UINT8 b4:1;
UINT8 b5:1;
UINT8 b6:1;
UINT8 b7:1;
} __attribute__((_packed_));
#define SBIT(port,pin) ((*(volatile struct bits*)&port).b##pin)
#define MOSI_QT SBIT( PORTF, 2 )
allerdings möchte ich den Wert nicht fest zuweisen (MOSI_QT = 1) sondern
durch eine Berechnung übergeben. Das ganze sieht zur Zeit so aus:
MOSI_QT = (u32QT_Outbyte >> (u8TIM0_StepCounter >> 1)) & 0x01
dabei wird aber folgender Fehler ausgegeben:
called object 'u32QT_Outbyte >> (u8TIM0_StepCounter >> 1) & 1u' is not a
function
Das ganze wird in einem Interrupt ausgeführt, der alle 150
Prozessortakte ausgeführt werden soll. Für eine kurze Lösung wäre ich
dankbar.
Gruß Steffen