Subversion Repositories Code-Repo

Rev

Blame | Last modification | View Log | RSS feed

#include <xc.h>
#include <delays.h>
#include <stdio.h>
#include "defines.h"
#include "uart.h"

// <editor-fold defaultstate="collapsed" desc="Configuration Bits">
/* --------------------------- Configuration Bits --------------------------- */
/* CONFIG1L @ 0x1FFF8 */
#pragma config CFGPLLEN = ON        // Enable PLL on startup
#pragma config PLLDIV = 3           // Set PPL prescaler to 3 (to get 4MHz)
#pragma config WDTEN = OFF          // Turn off watchdog timer
#pragma config STVREN = OFF         // Stack overflow/underflow reset disabled
#pragma config XINST = OFF          // Turn off extended instruction set

/* CONFIG1H @ 0x1FFF9 */
#pragma config CP0 = OFF            // Program memory is not code-protected

/* CONFIG2L @ 0x1FFFA */
#pragma config CLKOEC = OFF         // CLKO output disabled on RA6 pin
#pragma config SOSCSEL = LOW        // Low Power T1OSC/SOSC circuit selected
#pragma config IESO = ON            // Internal external oscillator switch over disabled
#pragma config OSC = HSPLL          // Use external oscillator (101)
#pragma config FCMEN = OFF          // Fail-safe clock monitor disabled

/* CONFIG2H @ 0x1FFFB */
#pragma config WDTPS = 1            // Watchdog postscaler of 1:1

/* CONFIG3L @ 0x1FFFC */
#pragma config RTCOSC = T1OSCREF    // RTCC uses T1OSC/T1CKI
#pragma config DSBOREN = ON         // Deep sleep BOR enabled
#pragma config DSWDTPS = M2         // Deep sleep watchdog postscaler of 1:2 (36m)
#pragma config DSWDTEN = OFF        // Deep sleep watchdog timer disabled
#pragma config DSWDTOSC = INTOSCREF  // DSWDT clock select uses INTRC

/* CONFIG3H @ 0x1FFFD */
#pragma config PLLSEL = PLL96       // Use 96MHz PLL 4MHz -> 96MHz / 2 = 48MHz
#pragma config ADCSEL = BIT12       // 12-bit ADC
#pragma config MSSP7B_EN = MSK7     // 7-bit address masking mode
#pragma config IOL1WAY = OFF        // IOLOCK bit can be set and cleared as needed

/* CONFIG4L @ 0x1FFFE */
#pragma config WPCFG = ON           // Configuration words page protected

/* CONFIG4H @ 0x1FFFF */
#pragma config WPEND = PAGE_WPFP    // Pages WPFP<6:0> through Configuration Words erase/write protected
#pragma config WPDIS = OFF          // WPFP<6:0>/WPEND region ignored
/* -------------------------------------------------------------------------- */
// </editor-fold>

#if  defined(_TEST_UART)
int main() {
    char buffer[100];
    buffer[0] = 1;
    unsigned char length = 12345;
    unsigned char buffer[100];
    float f = 3.1415;

    /* --------------------- Oscillator Configuration --------------------- */
    //    OSCTUNEbits.PLLEN = 1;          // Enable 4x PLL
    OSCCONbits.IRCF = 0b111; // Set INTOSC postscaler to 8MHz
    OSCCONbits.SCS = 0b00; // Use 96MHz PLL as primary clock source
    /* -------------------------------------------------------------------- */

    // Set all ports as digial I/O
    ANCON0 = 0xFF;
    ANCON1 = 0x1F;

    UART1_Init(); // Initialize the UART handler code

//    interrupt_enable(); // Enable high-priority interrupts and low-priority interrupts
//    interrupt_init(); // Initialize the interrupt priorities

//    DBG_PRINT_MAIN("\r\nBegin Program\r\n");
//    DBG_PRINT_MAIN("%d\r\n", length);
//    printf("asf\r\n");

    while (1) {

//        length = UART1_Read_Buffer((unsigned char *) buffer);
//        if (length != 0) {
//            UART1_WriteB((char *) buffer, length);
//        }
//
//        Delay10KTCYx(255);
//        Delay10KTCYx(255);
    }
}
#elif defined(_TEST_I2C_MASTER)
int main() {
    char buffer[100];
    buffer[0] = 1;
}
#else
int main() {
    char buffer[255];
    char buffer1[255];
    char buffer2[255];
    char buffer3[255];
    char buffer4[255];
    char buffer5[255];
    char buffer6[255];
    char buffer7[255];
    char buffer8[255];
    char buffer9[255];
    char buffer10[255];
    char buffer11[255];
    char buffer12[100];
    char buffer13[100];
    char buffer14[50];
    char buffer15[50];
    char buffer16[50];
    char buffer17[40];
    char buffer18[20];
    buffer[0] = 1;
    buffer1[0] = 1;
    buffer2[0] = 1;
    buffer3[0] = 1;
    buffer4[0] = 1;
    buffer5[0] = 1;
    buffer6[0] = 1;
    buffer7[0] = 1;
    buffer8[0] = 1;
    buffer9[0] = 1;
    buffer10[0] = 1;
    buffer11[0] = 1;
    buffer12[0] = 1;
    buffer13[0] = 1;
    buffer14[0] = 1;
    buffer15[0] = 1;
    buffer16[0] = 1;
    buffer17[0] = 1;
    buffer18[0] = 1;
}
#endif

void putch(char data) {
    while (!TXIF)
        continue;
    TXREG = data;
}