EDF - OnePIC MCU
v1.1.0
|
00001 00014 #ifndef __BSP_H 00015 #define __BSP_H 00016 00017 #include "Compiler.h" 00018 #include <stdint.h> 00019 #include <stdbool.h> 00020 #define LED_ON 1 00021 #define LED_OFF 0 00023 #define Nop() NOP() 00025 #define _XTAL_FREQ 32000000 00027 #define GetSystemClock() 32000000UL 00028 #define GetPeripheralClock() 32000000UL 00029 #define GetInstructionClock() (GetSystemClock() / 4) 00031 /********************************************************************** 00032 * LEDs 00033 **********************************************************************/ 00034 #define gpLED_8_TRIS TRISAbits.TRISA5 00035 #define gpLED_7_TRIS TRISAbits.TRISA5 00036 #define gpLED_6_TRIS TRISAbits.TRISA5 00037 #define gpLED_5_TRIS TRISAbits.TRISA4 00038 #define gpLED_4_TRIS TRISAbits.TRISA3 00039 #define gpLED_3_TRIS TRISAbits.TRISA2 00040 #define gpLED_2_TRIS TRISAbits.TRISA1 00041 #define gpLED_1_TRIS TRISAbits.TRISA0 00043 #define gpLED_8 LATAbits.LATA5 00044 #define gpLED_7 LATAbits.LATA5 00045 #define gpLED_6 LATAbits.LATA5 00046 #define gpLED_5 LATAbits.LATA4 00047 #define gpLED_4 LATAbits.LATA3 00048 #define gpLED_3 LATAbits.LATA2 00049 #define gpLED_2 LATAbits.LATA1 00050 #define gpLED_1 LATAbits.LATA0 00052 #define gpLED_UP_TRIS TRISDbits.TRISD4 00053 #define gpLED_DOWN_TRIS TRISDbits.TRISD7 00054 #define gpLED_RIGHT_TRIS TRISDbits.TRISD6 00055 #define gpLED_LEFT_TRIS TRISDbits.TRISD5 00057 #define gpLED_UP LATDbits.LATD4 00058 #define gpLED_DOWN LATDbits.LATD7 00059 #define gpLED_RIGHT LATDbits.LATD6 00060 #define gpLED_LEFT LATDbits.LATD5 00062 /********************************************************************** 00063 * Switch 00064 **********************************************************************/ 00065 #define SW1_TRIS gpLED_1_TRIS 00066 #define SW1_PORT PORTAbits.RA0 00067 #define SW1_LATCH LATAbits.LATA0 00068 /********************************************************************** 00069 * I2C 00070 **********************************************************************/ 00071 #define I2C_SCL_TRIS TRISCbits.TRISC3 00072 #define I2C_SDA_TRIS TRISCbits.TRISC4 00074 #define I2C_MODULE_SETUP_MASTER_3 SSPCON1bits.SSPM3 00075 #define I2C_MODULE_SETUP_MASTER_2 SSPCON1bits.SSPM2 00076 #define I2C_MODULE_SETUP_MASTER_1 SSPCON1bits.SSPM1 00077 #define I2C_MODULE_SETUP_MASTER_0 SSPCON1bits.SSPM0 00078 #define I2C_MODULE_ENABLE SSPCON1bits.SSPEN 00079 #define I2C_DISABLE_SLEW_CONTROL SSPSTATbits.SMP 00080 #define I2C_INTERRUPT_FLAG PIR1bits.SSPIF 00081 #define I2C_INTERRUPT_ENABLE PIE1bits.SSPIE 00082 #define I2C_BRG SSPADD 00083 #define I2C_BCL_MASTER_BUS_COLLISION SSPCON1bits.WCOL //only write conditions to SSPBUF 00084 #define I2C_SEN_START_CONDITION_ENABLE SSPCON2bits.SEN 00085 #define I2C_TRANSMIT_REGISTER SSPBUF 00086 #define I2C_RECIEVE_REGISTER SSPBUF 00087 #define I2C_REPEATED_START_ENABLE SSPCON2bits.RSEN 00088 #define I2C_ACK_STATUS SSPCON2bits.ACKSTAT; 00089 #define I2C_STOP_CONDITION_ENABLE SSPCON2bits.PEN 00090 #define I2C_RECIEVE_ENABLE SSPCON2bits.RCEN 00091 #define I2C_ACK_DATA SSPCON2bits.ACKDT 00092 #define I2C_ACK_SEQ_ENABLE SSPCON2bits.ACKEN 00093 /********************************************************************** 00094 * LCD 00095 **********************************************************************/ 00096 #define LCD_RS LATCbits.LATC0 00097 #define LCD_RS_TRIS TRISCbits.TRISC0 00099 #define LCD_ENABLE LATAbits.LATA6 00100 #define LCD_ENABLE_TRIS TRISAbits.TRISA6 00102 #define LCD_D0 LATDbits.LATD0 00103 #define LCD_D1 LATDbits.LATD1 00104 #define LCD_D2 LATDbits.LATD2 00105 #define LCD_D3 LATDbits.LATD3 00107 #define LCD_D0_TRIS TRISDbits.TRISD0 00108 #define LCD_D1_TRIS TRISDbits.TRISD1 00109 #define LCD_D2_TRIS TRISDbits.TRISD2 00110 #define LCD_D3_TRIS TRISDbits.TRISD3 00111 /********************************************************************** 00112 * mTouch 00113 **********************************************************************/ 00114 #define EDF_CapTouchGetButtonState(i) mTouch_GetButtonState(i) 00115 #define EDF_MTOUCH_PRESSED MTOUCH_PRESSED 00117 /********************************************************************** 00118 * UART 00119 **********************************************************************/ 00120 #define UART_TX_INTERRUPT PIR1bits.TXIF 00121 #define UART_RX_INTERRUPT PIR1bits.RCIF 00122 #define UART_TX_REGISTER TXREG 00123 #define UART_RX_REGISTER RCREG 00125 #define UART_TRIS_RX TRISCbits.TRISC7 00126 #define UART_TRIS_TX TRISCbits.TRISC6 00128 #define UART_RX PORTCbits.RC7 00129 #define UART_TX PORTCbits.RC6 00131 #define UART_BAUD_REGISTER SPBRG 00132 #define UART_RC_STATUS TXSTA 00133 #define UART_TX_STATUS RCSTA 00136 00137 // * PWM 00138 // **********************************************************************/ 00139 //#define TMR2_REGISTER T2CON /**<@brief TMR2 controller*/ 00140 //#define TMR2_TIME PR2 /**<@brief period register*/ 00141 //#define TMR2_INTERRUPT PIE3bits.TMR6IE /**<@brief */ 00142 //#define PWM2_CONTROL_REGISTER CCP2CON /**<@brief */ 00143 //#define PWM2_TIME_REGISTER CCPR2L /**<@brief */ 00144 00145 /********************************************************************** 00146 * ADC 00147 **********************************************************************/ 00148 #define ADC_ON ADON = 1; 00149 #define ADC_CONTROL_REGISTER0 ADCON0 00150 #define ADC_CONTROL_REGISTER1 ADCON1 00151 #define ADC_RESULT_HIGH ADRESH 00152 #define ADC_RESULT_LOW ADRESL 00153 #define ADC_WAITING ADCON0bits.GO 00155 #define PTP1_LAT LATCbits.LATC5 00156 #define PTP2_LAT LATCbits.LATC1 00157 #define PTP3_LAT LATEbits.LATE1 00159 #define PTP1_PORT PORTCbits.RC5 00160 #define PTP2_PORT PORTCbits.RC1 00161 #define PTP3_PORT PORTEbits.RE1 00163 #define PTP1_TRIS TRISCbits.TRISC5 00164 #define PTP2_TRIS TRISCbits.TRISC1 00165 #define PTP3_TRIS TRISEbits.TRISE1 00167 #endif // BSP_H 00168