Code for C32 Microprocessor
Main Module - Runs Events and Services Framework
#include "stdio.h"
#include "ME218_C32.h"
#include "timers12.h"
#include "PWMS12.H"
#include "ADS12.H"
#include "GameControl.h"
static void InitializePortM(void);
static void InitializePortAD(void);
static void InitializePWM(void);
static void InitializePortT(void);
static void InitializeTimer(void);
void main(void){
char eventCode; InitializePortM();
InitializePortAD();
InitializePWM();
InitializePortT();
InitializeTimer();
printf("\n\rSuccessfully Initialized..."); while(1){ eventCode = CheckGameEvents();
HandleGameEvents(eventCode);
}
}
static void InitializePortM(){ DDRM &= BIT0LO; DDRM &= BIT1LO; DDRM &= BIT2LO; DDRM &= BIT3LO; DDRM |= BIT4HI; PTM &= BIT4LO; DDRM |= BIT5HI; PTM &= BIT5LO;}
static void InitializePortAD()
{ if (ADS12_Init("OOOOOAAA") != ADS12_OK)
{
printf("\n\rERROR initializing port AD");
}
}
static void InitializePWM()
{ PWMS12_Init();
if (PWMS12_SetPeriod(PWMS12_2000US,PWMS12_GRP0) != PWMS12_OK)
{
printf("\n\rERROR setting PWM group 0 period");
}
if (PWMS12_SetPeriod(PWMS12_2000US,PWMS12_GRP1) != PWMS12_OK)
{
printf("\n\rERROR setting PWM group 1 period");
}
}
static void InitializePortT()
{ DDRT |= BIT3HI; DDRT |= BIT4HI; DDRT |= BIT5HI; DDRT |= BIT6HI; DDRT |= BIT7HI; PTT &= BIT3LO; PTT &= BIT4LO;
PTT &= BIT5LO; PTT &= BIT6LO;
PTT &= BIT7LO;
}
static void InitializeTimer()
{ TMRS12_Init(TMRS12_RATE_1MS);
}