EDF - OnePIC MCU  v1.1.0
source/8bit/include/bsp.h
Go to the documentation of this file.
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