// Procédures utiles pour la carte MSP-EXP430F5529 // Pierre-Yves Rochat, 2020, EPFL, pyr@pyr.ch #ifndef CARTE2026_H_ #define CARTE2026_H_ #include #include // Définition des LED et des poussoirs pour la carte 2025 #define Led1On P2OUT|=(1<<0) #define Led1Off P2OUT&=~(1<<0) #define Led1Toggle P2OUT^=(1<<0) #define InitLed1 P2DIR|=(1<<0);Led1Off #define Led2On P2OUT|=(1<<2) #define Led2Off P2OUT&=~(1<<2) #define Led2Toggle P2OUT^=(1<<2) #define InitLed2 P2DIR|=(1<<2);Led2Off #define Led3On P4OUT|=(1<<0) #define Led3Off P4OUT&=~(1<<0) #define Led3Toggle P4OUT^=(1<<0) #define InitLed3 P4DIR|=(1<<0);Led3Off #define Led4On P6OUT|=(1<<0) #define Led4Off P6OUT&=~(1<<0) #define Led4Toggle P6OUT^=(1<<0) #define InitLed4 P6DIR|=(1<<0);Led4Off #define Led5On P6OUT|=(1<<1) #define Led5Off P6OUT&=~(1<<1) #define Led5Toggle P6OUT^=(1<<1) #define InitLed5 P6DIR|=(1<<1);Led5Off #define Led6On P6OUT|=(1<<2) #define Led6Off P6OUT&=~(1<<2) #define Led6Toggle P6OUT^=(1<<2) #define InitLed6 P6DIR|=(1<<2);Led6Off #define Led7On P6OUT|=(1<<3) #define Led7Off P6OUT&=~(1<<3) #define Led7Toggle P6OUT^=(1<<3) #define InitLed7 P6DIR|=(1<<3);Led7Off #define Led8On P6OUT|=(1<<4) #define Led8Off P6OUT&=~(1<<4) #define Led8Toggle P6OUT^=(1<<4) #define InitLed8 P6DIR|=(1<<4);Led8Off #define Pous1On (!(P2IN&(1<<3))) #define InitPous1 P2DIR&=~(1<<3);P2REN|=(1<<3);P2OUT|=(1<<3) #define Pous2On (!(P2IN&(1<<4))) #define InitPous2 P2DIR&=~(1<<4);P2REN|=(1<<4);P2OUT|=(1<<4) #define Pous3On (!(P2IN&(1<<5))) #define InitPous3 P2DIR&=~(1<<5);P2REN|=(1<<5);P2OUT|=(1<<5) #define Pous4On (!(P2IN&(1<<6))) #define InitPous4 P2DIR&=~(1<<6);P2REN|=(1<<6);P2OUT|=(1<<6) #define Pous5On (!(P2IN&(1<<7))) #define InitPous5 P2DIR&=~(1<<7);P2REN|=(1<<7);P2OUT|=(1<<7) // Encodeur rotatif #define EncodX (P1IN>>5)&1 #define InitEncodX P1DIR&=~(1<<5);P1REN|=(1<<5);P1OUT|=(1<<5) #define EncodY (P1IN>>6)&1 #define InitEncodY P1DIR&=~(1<<6);P1REN|=(1<<6);P1OUT|=(1<<6) #define PousEncodOn (!(P6IN&(1<<6))) #define InitPousEncod P6DIR&=~(1<<6);P6REN|=(1<<6);P6OUT|=(1<<6) // Définitions du moteur Logidule #define MoteurDirDroite (P7OUT|=(1<<4)) #define MoteurDirGauche (P7OUT&=~(1<<4)) #define MoteurEn (P7OUT|=(1<<0)) #define MoteurStop (P7OUT&=~(1<<0)) #define EncodeurX (P1IN>>2)&1 #define EncodeurY (P1IN>>3)&1 #define FinCourseDroite (!(P1IN&(1<<4))) #define FinCourseGauche (!(P1IN&(1<<5))) void InitCarte2025(); void AfficheLedBleues(uint16_t val) ; void delay_ms(unsigned int ms); void setupDCO(void); void InitMoteur(); #endif /* PYR_CARTEBLANCHE_H_ */