/* * File: PIC32MX.h * Author: Sparky * * Created on ???????, 2013, ??? 30, 1:56 */ #ifndef PIC32MX534F064H_H #define PIC32MX534F064H_H #ifdef __cplusplus extern "C" { #endif #include #include #include #include #include #include #ifdef _PIC32MX534F064H_C #define P32_EXTERN #else #define P32_EXTERN extern #endif #define SYS_FREQ (80000000UL) #define CORETIMER_FREQ (SYS_FREQ/2UL) #define PER_FREQ (SYS_FREQ/2UL) #define I2C_CLOCK_FREQ (400000UL) P32_EXTERN void DelayTicks(UINT32 a); #define _delay_us(a) DelayTicks(a*(CORETIMER_FREQ/1000000UL)) #define _delay_ms(a) DelayTicks(a*(CORETIMER_FREQ/1000UL)) #ifdef _PIC32MX534F064H_C #define P32_EXTERN #else #define P32_EXTERN extern #endif extern const void _RESET_ADDR; #define DEVICE_ID 0x23248568 #define DEVICE_MAJOR_VERSION 1 #define DEVICE_MINOR_VERSION 0 #define DEVICE_RESET_ENTRY (void *)&_RESET_ADDR #define BOOTLOADER_MAJOR_VERSION 1 #define BOOTLOADER_MINOR_VERSION 0 #define PROGRAM_FLASH_END_ADRESS (0x9D000000+BMXPFMSZ-1) #define APP_FLASH_BASE_ADDRESS 0x9D003000 #define APP_FLASH_END_ADDRESS PROGRAM_FLASH_END_ADRESS #define APP_IVT_BASE_ADDRESS 0x9FC01000 #define APP_IVT_END_ADDRESS 0x9FC01FFF #define USER_APP_RESET_ADDRESS 0x9D003000 #define FLASH_PAGE_SIZE 4096 #define DEV_CONFIG_REG_BASE_ADDRESS 0x9FC02FF0 #define DEV_CONFIG_REG_END_ADDRESS 0x9FC02FFF //outputs #define IND1 LATDbits.LATD11 #define IND2 LATCbits.LATC13 #define IND3 LATCbits.LATC14 #define HEATER LATEbits.LATE6 #define HCH LATEbits.LATE7 #define CBANDA LATEbits.LATE2 #define CBANDB LATFbits.LATF3 #define CHSEL1 LATEbits.LATE5 #define CHSEL2 LATEbits.LATE4 #define CHPOL LATEbits.LATE3 #define LEDA LATDbits.LATD7 #define LEDB LATDbits.LATD6 #define LEDC LATDbits.LATD4 #define LEDD LATDbits.LATD1 #define LEDE LATDbits.LATD2 #define LEDF LATDbits.LATD5 #define LEDG LATDbits.LATD3 #define OLED_VCC LATCbits.LATC14 #define OLED_RES LATDbits.LATD7 #define OLED_DC LATDbits.LATD6 #define OLED_CS LATDbits.LATD4 #define OLED_SCK LATDbits.LATD1 #define OLED_SDI LATDbits.LATD2 #define OLED_SDO LATDbits.LATD3 #define ID_OUT LATBbits.LATB15 //inputs #define B1 PORTDbits.RD8 #define B2 PORTDbits.RD9 #define B3 PORTDbits.RD10 #define ID_IN PORTBbits.RB15 #define NAP PORTGbits.RG9 #define ID_3S TRISBbits.TRISB15 #define SPEAKER OC1CONbits.ON #define SPKON if(!SPEAKER)SPEAKER=1 #define SPKOFF if(SPEAKER)SPEAKER=0 #define SDISDO_IO {TRISDSET=0b100;TRISDCLR=0b1000;} #define SDISDO_OI {TRISDCLR=0b100;TRISDSET=0b1000;} #define SDISDO_OO {TRISDCLR=0b1100;} #define SDI_IN PORTDbits.RD2 #define SDI_OUT LATDbits.LATD2 #define SDO_IN PORTDbits.RD3 #define SDO_OUT LATDbits.LATD3 #define mcuDisableInterrupts() INTDisableInterrupts() #define mcuEnableInterrupts() INTEnableInterrupts() #define mcuRestoreInterrupts(a) INTRestoreInterrupts(a) //USB Stack definitions #define self_power 1 #define USB_BUS_SENSE 1 P32_EXTERN void mcuInit(void); P32_EXTERN void mcuDisableUSB(void); P32_EXTERN void mcuJumpToApp(void); P32_EXTERN UINT mcuEraseFlash(); P32_EXTERN UINT mcuWriteFlashRecord(void * RecordData); P32_EXTERN UINT32 mcuProgramComplete(void); P32_EXTERN UINT mcuValidAppPresent(); #define mcuReset() Reset() #define mcuSPIOpen() SpiChnOpen(SPI_CHANNEL3,SPI_OPEN_MSTEN | SPI_OPEN_MODE8 | SPI_OPEN_CKP_HIGH, 4) #define mcuSPIClose() SpiChnClose(SPI_CHANNEL3) #define mcuSPISendByte(b) SpiChnPutC(SPI_CHANNEL3, b) #define mcuSPISendBytes(b,n) SpiChnPutS(SPI_CHANNEL3,b,n) #define mcuSPIIsBusy() SpiChnIsBusy(SPI_CHANNEL3) P32_EXTERN void mcuSPIWait(); #undef P32_EXTERN #ifdef __cplusplus } #endif #endif /* PIC32MX_H */