Blame | Last modification | View Log | Download | RSS feed
#include "maindefs.h"#include "interrupts.h"#include "uart.h"//#include "i2c.h"//#include "adc.h"//#include "timers.h"//#include "xbee.h"//#include "led_driver.h"//#include "pwm.h"//#include "delays.h"//#include "pin_interrupts.h"#include <usart.h>#include <delays.h>#pragma config WDTEN = OFF // Turn off watchdog timer#pragma config XINST = OFF // Turn off extended instruction set#pragma config OSC = HSPLL // Use external oscillator (101)#pragma config PLLDIV = 3 // Set PPL prescaler to 3 (to get 4MHz)#pragma config CFGPLLEN = ON // Enable PLL on startup#pragma config PLLSEL = PLL96 // Use 96MHz PLL 4MHz -> 96MHz / 2 = 48MHz//#pragma config SOSCSEL = HIGH // High Power T1OSC/SOSC circuit selected//#pragma config ADCSEL = BIT12 // 12-bit ADrC//#pragma config IOL1WAY = OFF // IOLOCK bit can be set and cleared as needed/* ----------- IO Pins -----------* RA0 -* RA1 -* RA2 -* RA3 -* RA4 - [CANNOT BE USED (VDDCORE/VCAP)]* RA5 -* RA6 - Oscillator* RA7 - Oscillator** RC0 -* RC1 -* RC2 -* RC3 -* RC4 -* RC5 -* RC6 - UART Debug Output* RC7 - UART Debug Input** RB0 -* RB1 -* RB2 -* RB3 -* RB4 -* RB5 -* RB6 -* RB7 -* ---------------------------- *///static I2C_DATA i2c_data;//static XBEE_DATA xbee_data;void main(void) {unsigned char i = 0;unsigned char length = 0;unsigned char buffer[100];/* --------------------- Oscillator Configuration --------------------- */// OSCTUNEbits.PLLEN = 1; // Enable 4x PLLOSCCONbits.IRCF = 0b111; // Set INTOSC postscaler to 8MHzOSCCONbits.SCS = 0b00; // Use 96MHz PLL as primary clock source/* -------------------------------------------------------------------- */// Set all ports as digial I/OANCON0 = 0xFF;ANCON1 = 0x1F;UART1_Init(); // Initialize the UART handler code// xbee_init(&xbee_data); // Initialize the XBee handler code// i2c_init(&i2c_data); // Initialize the I2C handler code// adc_init(); // Initialize the ADC// timers_init(); // Initialize timers// port_b_int_init(); // Initialze Port B interrupt handler// pwm_init(); // Initialize the PWM output driverinterrupt_enable(); // Enable high-priority interrupts and low-priority interruptsinterrupt_init(); // Initialize the interrupt prioritiesDBG_PRINT_MAIN("\r\nBegin Program\r\n");// Loop and process recieved messages from interrupts;while (1) {length = UART1_Read((char *)buffer);if (length != 0) {UART1_WriteB((char *)buffer, length) ;}Delay10KTCYx(255);}}