#ifndef HARDWARE_H #define HARDWARE_H #include #include #include /* Pinbelegung */ /* Pin1: VCC MSP430F20x1 Pin2: P1.0/TACLK/ACLK/CA0: Input, analoger Lichtsensor Pin3: P1.1/TA0/CA1: Input, Taste 1 Pin4: P1.2/TA1/CA2: Input, Taste 2 Pin5: P1.3/CAOUT/CA3: Input, Taste 3 Pin6: P1.4/SMCLK/CA4/TCK: Output, LCD RS Pin7: P1.5/TA0/CA5/TMS: Output, LCD CSB Pin8: P1.6/TA1/CA6/TDI/TCLK: Output, LCD SI Pin9: P1.7/CAOUT/CA7/TDO/TDI: Output, LCD CLK Pin10: RESET/NMI/SBWTDIO Pin11: TEST/SBWTCK Pin12: P2.7/XOUT: Output, LED Pin13: P2.6/XIN/TA1: Output, PWM Magnet Pin14: GND */ // Port 1.x #define FOTODIODE_PORT 0x01 #define TASTE1_PORT 0x02 #define TASTE2_PORT 0x04 #define TASTE3_PORT 0x08 #define CS_PORT 0x20 #define SI_PORT 0x40 #define SCL_PORT 0x80 #define RS_PORT 0x10 // Port 2.x #define PWM_PORT 0x40 #define NC2_7_PORT 0x80 //Port Output Register 'P1OUT, P2OUT': #define P1OUT_INIT TASTE1_PORT | TASTE2_PORT | TASTE3_PORT | CS_PORT | SI_PORT | RS_PORT #define P2OUT_INIT 0x00 // Init Output data of port2 //Port Direction Register 'P1DIR, P2DIR' (Out=1, Inp=0): #define P1DIR_INIT CS_PORT | SI_PORT | SCL_PORT | RS_PORT #ifdef MESSBAR #undef P1DIR_INIT #define P1DIR_INIT TASTE1_PORT | TASTE2_PORT | TASTE3_PORT | CS_PORT | SI_PORT | SCL_PORT | RS_PORT #endif #define P2DIR_INIT PWM_PORT | NC2_7_PORT //Selection of Port or Module -Function on the Pins 'P1SEL, P2SEL' (0=GPIO, 1=Module) #define P1SEL_INIT FOTODIODE_PORT #define P2SEL_INIT PWM_PORT #define P1REN_INIT TASTE1_PORT | TASTE2_PORT | TASTE3_PORT #define P2REN_INIT 0x00 //Interrupt Enable (0=dis 1=enabled) #define P1IE_INIT 0 #define P2IE_INIT 0 // Interrupt Edge Select (0=pos 1=neg) #define P1IES_INIT 0 #define P2IES_INIT 0 #define WDTCTL_INIT WDTPW|WDTHOLD #define TASTE1 ((P1IN & TASTE1_PORT) == 0) #define TASTE2 ((P1IN & TASTE2_PORT) == 0) #define TASTE3 ((P1IN & TASTE3_PORT) == 0) #define CS_LOW P1OUT = P1OUT & ~CS_PORT #define CS_HIGH P1OUT = P1OUT | CS_PORT #define SI_LOW P1OUT = P1OUT & ~SI_PORT #define SI_HIGH P1OUT = P1OUT | SI_PORT #define SCL_LOW P1OUT = P1OUT & ~SCL_PORT #define SCL_HIGH P1OUT = P1OUT | SCL_PORT #define RS_LOW P1OUT = P1OUT & ~RS_PORT #define RS_HIGH P1OUT = P1OUT | RS_PORT #ifdef MESSBAR #define DIAG1_LOW P1OUT = P1OUT & ~TASTE1_PORT #define DIAG2_LOW P1OUT = P1OUT & ~TASTE2_PORT #define DIAG3_LOW P1OUT = P1OUT & ~TASTE3_PORT #define DIAG1_HIGH P1OUT = P1OUT | TASTE1_PORT #define DIAG2_HIGH P1OUT = P1OUT | TASTE2_PORT #define DIAG3_HIGH P1OUT = P1OUT | TASTE3_PORT #endif #endif //HARDWARE_H