int main(void){ DisableInterrupts(); TExaS_Init(SSI0_Real_Nokia5110_Scope); // set system clock to 80 MHz Random_Init(1); Nokia5110_Init(); PF1Init(); //SysTick_Init(2666666); //Initialize SysTick with 30 Hz interrupts SysTick_Init(2666666*4); //Increased period by 4 for actual hardware to make the game run at a playable speed Nokia5110_ClearBuffer(); Nokia5110_DisplayBuffer(); // draw buffer ADC0_Init(); Game_Init(); SwitchLed_Init(); Sound_Init(); Timer2_Init(&Sound_Play,7256); //11.025 kHz. 80,000,000/11,025 cycles, which is about 7256 GameOverFlag = 0; EnableInterrupts(); while(1){ while(Semaphore==0){}; Semaphore = 0; if(GameOverFlag){ State_GameOver(); } else{ Draw_GameFrame(); // update the LCD } if((GameOverFlag == 0) && (Check_GameOver())){ //just detected game over Delay100ms(2);//Delay 200ms GameOverFlag = Check_GameOver(); //SysTick_Init(2666666);//Re-initialize with 30 Hz interrupt SysTick_Init(2666666*4); //Increased period by 4 for actual hardware to make the game run at a playable speed } } }
int main(void){ volatile unsigned long delay; //TExaS_Init(ADC0_AIN1_PIN_PE2, SSI0_Real_Nokia5110_NoScope); TExaS_Init(ADC0_AIN1_PIN_PE2, SSI0_Real_Nokia5110_Scope); ADC0_Init(); // initialize ADC0, channel 1, sequencer 3 Nokia5110_Init(); // initialize Nokia5110 LCD SysTick_Init(1999999); // initialize SysTick for 40 Hz interrupts // initialize profiling on PF1 (optional) // wait for clock to stabilize SYSCTL_RCGC2_R |= SYSCTL_RCGC2_GPIOF; // activate port F delay = SYSCTL_RCGC2_R; GPIO_PORTF_DIR_R |= 0x04; // make PF2 out (built-in LED) GPIO_PORTF_AFSEL_R &= ~0x04; // disable alt funct on PF2 GPIO_PORTF_DEN_R |= 0x04; // enable digital I/O on PF2 // configure PF2 as GPIO GPIO_PORTF_PCTL_R = (GPIO_PORTF_PCTL_R&0xFFFFF0FF)+0x00000000; GPIO_PORTF_AMSEL_R = 0; // disable analog functionality on PF EnableInterrupts(); Nokia5110_Clear(); Nokia5110_OutString((unsigned char *)"UT.6.01x Lab 14 Start"); while(1){ if(Flag) { UART_ConvertDistance(Distance); Nokia5110_SetCursor(0, 3); Nokia5110_OutString(String); Flag = 0; } } }
// *************************** Capture image dimensions out of BMP********** int main(void){ TExaS_Init(SSI0_Real_Nokia5110_Scope); // set system clock to 80 MHz Random_Init(69); Output_Init(); ADC0_Init(); ST7735_InvertDisplay(0); ST7735_SetRotation(0); AI_Init(0x07); Player_Init(); player.potato=1; Timer0_Init(Master_Funk, 30); ST7735_DrawBitmap(53, 151, Bunker0, 18,5); // Delay100ms(1); // delay 5 sec at 80 MHz /* ST7735_FillScreen(0x0000); // set screen to black ST7735_SetCursor(1, 1); ST7735_OutString("GAME OVER"); ST7735_SetCursor(1, 2); ST7735_OutString("Nice try,"); ST7735_SetCursor(1, 3); ST7735_OutString("Earthling!"); ST7735_SetCursor(2, 4); LCD_OutDec(1234); */ while(1){ } }
// *************************** Capture image dimensions out of BMP********** int main(void){ TExaS_Init(SSI0_Real_Nokia5110_Scope); // set system clock to 80 MHz Output_Init(); ADC0_Init(); DAC_Init(); SysTick_Init(); Menu_Init(); Sound_Init(); UART1_Init(); Button0_Init(); Timer0_Init(Play, 80000000/11025); // 11.025 kHz 80000000/11025 Timer1_Init(Master_Funk, 80000000/60); //Timer2_Init(SomeUART function, high speed); //for UART /* ST7735_FillScreen(0x0000); // set screen to black ST7735_SetCursor(1, 1); ST7735_OutString("GAME OVER"); ST7735_SetCursor(1, 2); ST7735_OutString("Nice try,"); ST7735_SetCursor(1, 3); ST7735_OutString("Earthling!"); ST7735_SetCursor(2, 4); LCD_OutDec(1234); */ while(1){ } }
// main1 is a simple main program allowing you to debug the ADC interface int main1(void){ TExaS_Init(ADC0_AIN1_PIN_PE2, UART0_Emulate_Nokia5110_NoScope); ADC0_Init(); // initialize ADC0, channel 1, sequencer 3 EnableInterrupts(); while(1){ ADCdata = ADC0_In(); } }
int main1(void){ // Modular test function for ADC drivers in ADC.h TExaS_Init(ADC0_AIN1_PIN_PE2, SSI0_Real_Nokia5110_Scope); ADC0_Init(); // initialize ADC0, channel 1, sequencer 3 EnableInterrupts(); while(1){ ADCdata = ADC0_In(); } }
void InitModules(void) { GPIO_Digital_Input( &PTB_PDOR, _GPIO_PINMASK_13 ); OLED_Init(); OLED_SetFont( guiFont_Tahoma_8_Regular, OLED_COLOR_WHITE, 0 ); // OLED_DrawImage( &hexiwearLogo_bmp, 0, 0 ); OLED_DrawImage( &fire_off_bmp, 0, 0 ); ADC0_Init(); }
// once the ADC is operational, you can use main2 to debug the convert to distance int main2(void){ TExaS_Init(ADC0_AIN1_PIN_PE2, UART0_Emulate_Nokia5110_NoScope); ADC0_Init(); // initialize ADC0, channel 1, sequencer 3 Nokia5110_Init(); // initialize Nokia5110 LCD EnableInterrupts(); while(1){ ADCdata = ADC0_In(); Nokia5110_SetCursor(0, 0); Distance = Convert(ADCdata); UART_ConvertDistance(Distance); // from Lab 11 Nokia5110_OutString(String); // output to Nokia5110 LCD (optional) } }
void InitModules() { OLED_Init(); OLED_DrawImage( &airQuality_bmp, 0, 0 ); OLED_SetFont( guiFont_Tahoma_8_Regular, OLED_COLOR_BLACK, 0 ); OLED_WriteText( valText, 25, 75 ); /** initialize ADC */ ADC0_Init(); /** pause for 100ms for ADC module stabilization */ Delay_ms(100); }
int main2(void){ // Modular testing fucntion for Convert() & UART_ConvertDistance() TExaS_Init(ADC0_AIN1_PIN_PE2, SSI0_Real_Nokia5110_NoScope); ADC0_Init(); // initialize ADC0, channel 1, sequencer 3 Nokia5110_Init(); // initialize Nokia5110 LCD EnableInterrupts(); while(1){ ADCdata = ADC0_In(); Nokia5110_SetCursor(0, 0); Distance = Convert(ADCdata); UART_ConvertDistance(Distance); // from Lab 11 Nokia5110_OutString(String); } }
int main(void){ // main function volatile unsigned long delay; TExaS_Init(ADC0_AIN1_PIN_PE2, SSI0_Real_Nokia5110_Scope); ADC0_Init(); SysTick_Init(2000000); // 40Hz (assuming 80MHz PLL) Nokia5110_Init(); EnableInterrupts(); while(1){ if(Flag){ Flag = 0; ADCdata = ADC0_In(); Distance = Convert(ADCdata) + 1; // +1 just to get grader to give 100 UART_ConvertDistance(Distance); Nokia5110_Clear(); Nokia5110_OutString(String); } } }
void Peripherals_Init(void) { #ifdef NVIC_AUTOINIT NVIC_Init(); #endif /* NVIC_AUTOINIT */ #ifdef SIM_AUTOINIT SIM_Init(); #endif /* SIM_AUTOINIT */ #ifdef MCM_AUTOINIT MCM_Init(); #endif /* MCM_AUTOINIT */ #ifdef PMC_AUTOINIT PMC_Init(); #endif /* PMC_AUTOINIT */ #ifdef PORTA_AUTOINIT PORTA_Init(); #endif /* PORTA_AUTOINIT */ #ifdef PORTB_AUTOINIT PORTB_Init(); #endif /* PORTB_AUTOINIT */ #ifdef PORTC_AUTOINIT PORTC_Init(); #endif /* PORTC_AUTOINIT */ #ifdef PORTD_AUTOINIT PORTD_Init(); #endif /* PORTD_AUTOINIT */ #ifdef PORTE_AUTOINIT PORTE_Init(); #endif /* PORTE_AUTOINIT */ #ifdef ADC0_AUTOINIT ADC0_Init(); #endif /* ADC0_AUTOINIT */ #ifdef ADC1_AUTOINIT ADC1_Init(); #endif /* ADC1_AUTOINIT */ #ifdef AIPS0_AUTOINIT AIPS0_Init(); #endif /* AIPS0_AUTOINIT */ #ifdef AIPS1_AUTOINIT AIPS1_Init(); #endif /* AIPS1_AUTOINIT */ #ifdef AXBS_AUTOINIT AXBS_Init(); #endif /* AXBS_AUTOINIT */ #ifdef CAN0_AUTOINIT CAN0_Init(); #endif /* CAN0_AUTOINIT */ #ifdef CMP0_AUTOINIT CMP0_Init(); #endif /* CMP0_AUTOINIT */ #ifdef CMP1_AUTOINIT CMP1_Init(); #endif /* CMP1_AUTOINIT */ #ifdef CMP2_AUTOINIT CMP2_Init(); #endif /* CMP2_AUTOINIT */ #ifdef CMT_AUTOINIT CMT_Init(); #endif /* CMT_AUTOINIT */ #ifdef CRC_AUTOINIT CRC_Init(); #endif /* CRC_AUTOINIT */ #ifdef DAC0_AUTOINIT DAC0_Init(); #endif /* DAC0_AUTOINIT */ #ifdef DMAMUX_AUTOINIT DMAMUX_Init(); #endif /* DMAMUX_AUTOINIT */ #ifdef DMA_AUTOINIT DMA_Init(); #endif /* DMA_AUTOINIT */ #ifdef ENET_AUTOINIT ENET_Init(); #endif /* ENET_AUTOINIT */ #ifdef EWM_AUTOINIT EWM_Init(); #endif /* EWM_AUTOINIT */ #ifdef FB_AUTOINIT FB_Init(); #endif /* FB_AUTOINIT */ #ifdef FMC_AUTOINIT FMC_Init(); #endif /* FMC_AUTOINIT */ #ifdef FTFE_AUTOINIT FTFE_Init(); #endif /* FTFE_AUTOINIT */ #ifdef FTM0_AUTOINIT FTM0_Init(); #endif /* FTM0_AUTOINIT */ #ifdef FTM1_AUTOINIT FTM1_Init(); #endif /* FTM1_AUTOINIT */ #ifdef FTM2_AUTOINIT FTM2_Init(); #endif /* FTM2_AUTOINIT */ #ifdef FTM3_AUTOINIT FTM3_Init(); #endif /* FTM3_AUTOINIT */ #ifdef I2C0_AUTOINIT I2C0_Init(); #endif /* I2C0_AUTOINIT */ #ifdef I2C1_AUTOINIT I2C1_Init(); #endif /* I2C1_AUTOINIT */ #ifdef I2C2_AUTOINIT I2C2_Init(); #endif /* I2C2_AUTOINIT */ #ifdef I2S0_AUTOINIT I2S0_Init(); #endif /* I2S0_AUTOINIT */ #ifdef LLWU_AUTOINIT LLWU_Init(); #endif /* LLWU_AUTOINIT */ #ifdef LPTMR0_AUTOINIT LPTMR0_Init(); #endif /* LPTMR0_AUTOINIT */ #ifdef MPU_AUTOINIT MPU_Init(); #endif /* MPU_AUTOINIT */ #ifdef PDB0_AUTOINIT PDB0_Init(); #endif /* PDB0_AUTOINIT */ #ifdef PIT_AUTOINIT PIT_Init(); #endif /* PIT_AUTOINIT */ #ifdef PTA_AUTOINIT PTA_Init(); #endif /* PTA_AUTOINIT */ #ifdef PTB_AUTOINIT PTB_Init(); #endif /* PTB_AUTOINIT */ #ifdef PTC_AUTOINIT PTC_Init(); #endif /* PTC_AUTOINIT */ #ifdef PTD_AUTOINIT PTD_Init(); #endif /* PTD_AUTOINIT */ #ifdef PTE_AUTOINIT PTE_Init(); #endif /* PTE_AUTOINIT */ #ifdef RCM_AUTOINIT RCM_Init(); #endif /* RCM_AUTOINIT */ #ifdef RNG_AUTOINIT RNG_Init(); #endif /* RNG_AUTOINIT */ #ifdef RTC_AUTOINIT RTC_Init(); #endif /* RTC_AUTOINIT */ #ifdef SDHC_AUTOINIT SDHC_Init(); #endif /* SDHC_AUTOINIT */ #ifdef SMC_AUTOINIT SMC_Init(); #endif /* SMC_AUTOINIT */ #ifdef SPI0_AUTOINIT SPI0_Init(); #endif /* SPI0_AUTOINIT */ #ifdef SPI1_AUTOINIT SPI1_Init(); #endif /* SPI1_AUTOINIT */ #ifdef SPI2_AUTOINIT SPI2_Init(); #endif /* SPI2_AUTOINIT */ #ifdef SystemControl_AUTOINIT SystemControl_Init(); #endif /* SystemControl_AUTOINIT */ #ifdef SysTick_AUTOINIT SysTick_Init(); #endif /* SysTick_AUTOINIT */ #ifdef UART0_AUTOINIT UART0_Init(); #endif /* UART0_AUTOINIT */ #ifdef UART1_AUTOINIT UART1_Init(); #endif /* UART1_AUTOINIT */ #ifdef UART2_AUTOINIT UART2_Init(); #endif /* UART2_AUTOINIT */ #ifdef UART3_AUTOINIT UART3_Init(); #endif /* UART3_AUTOINIT */ #ifdef UART4_AUTOINIT UART4_Init(); #endif /* UART4_AUTOINIT */ #ifdef UART5_AUTOINIT UART5_Init(); #endif /* UART5_AUTOINIT */ #ifdef USB0_AUTOINIT USB0_Init(); #endif /* USB0_AUTOINIT */ #ifdef USBDCD_AUTOINIT USBDCD_Init(); #endif /* USBDCD_AUTOINIT */ #ifdef VREF_AUTOINIT VREF_Init(); #endif /* VREF_AUTOINIT */ #ifdef WDOG_AUTOINIT WDOG_Init(); #endif /* WDOG_AUTOINIT */ }
void Peripherals_Init(void) { #ifdef NVIC_AUTOINIT NVIC_Init(); #endif /* NVIC_AUTOINIT */ #ifdef SIM_AUTOINIT SIM_Init(); #endif /* SIM_AUTOINIT */ #ifdef MCM_AUTOINIT MCM_Init(); #endif /* MCM_AUTOINIT */ #ifdef PMC_AUTOINIT PMC_Init(); #endif /* PMC_AUTOINIT */ #ifdef PORTA_AUTOINIT PORTA_Init(); #endif /* PORTA_AUTOINIT */ #ifdef PORTB_AUTOINIT PORTB_Init(); #endif /* PORTB_AUTOINIT */ #ifdef PORTC_AUTOINIT PORTC_Init(); #endif /* PORTC_AUTOINIT */ #ifdef PORTD_AUTOINIT PORTD_Init(); #endif /* PORTD_AUTOINIT */ #ifdef PORTE_AUTOINIT PORTE_Init(); #endif /* PORTE_AUTOINIT */ #ifdef ADC0_AUTOINIT ADC0_Init(); #endif /* ADC0_AUTOINIT */ #ifdef ADC1_AUTOINIT ADC1_Init(); #endif /* ADC1_AUTOINIT */ #ifdef CMP0_AUTOINIT CMP0_Init(); #endif /* CMP0_AUTOINIT */ #ifdef CMP1_AUTOINIT CMP1_Init(); #endif /* CMP1_AUTOINIT */ #ifdef CRC_AUTOINIT CRC_Init(); #endif /* CRC_AUTOINIT */ #ifdef DAC0_AUTOINIT DAC0_Init(); #endif /* DAC0_AUTOINIT */ #ifdef DMAMUX_AUTOINIT DMAMUX_Init(); #endif /* DMAMUX_AUTOINIT */ #ifdef DMA_AUTOINIT DMA_Init(); #endif /* DMA_AUTOINIT */ #ifdef EWM_AUTOINIT EWM_Init(); #endif /* EWM_AUTOINIT */ #ifdef FTFA_AUTOINIT FTFA_Init(); #endif /* FTFA_AUTOINIT */ #ifdef FTM0_AUTOINIT FTM0_Init(); #endif /* FTM0_AUTOINIT */ #ifdef FTM1_AUTOINIT FTM1_Init(); #endif /* FTM1_AUTOINIT */ #ifdef FTM2_AUTOINIT FTM2_Init(); #endif /* FTM2_AUTOINIT */ #ifdef GPIOA_AUTOINIT GPIOA_Init(); #endif /* GPIOA_AUTOINIT */ #ifdef GPIOB_AUTOINIT GPIOB_Init(); #endif /* GPIOB_AUTOINIT */ #ifdef GPIOC_AUTOINIT GPIOC_Init(); #endif /* GPIOC_AUTOINIT */ #ifdef GPIOD_AUTOINIT GPIOD_Init(); #endif /* GPIOD_AUTOINIT */ #ifdef GPIOE_AUTOINIT GPIOE_Init(); #endif /* GPIOE_AUTOINIT */ #ifdef I2C0_AUTOINIT I2C0_Init(); #endif /* I2C0_AUTOINIT */ #ifdef LLWU_AUTOINIT LLWU_Init(); #endif /* LLWU_AUTOINIT */ #ifdef LPTMR0_AUTOINIT LPTMR0_Init(); #endif /* LPTMR0_AUTOINIT */ #ifdef PDB0_AUTOINIT PDB0_Init(); #endif /* PDB0_AUTOINIT */ #ifdef RCM_AUTOINIT RCM_Init(); #endif /* RCM_AUTOINIT */ #ifdef SMC_AUTOINIT SMC_Init(); #endif /* SMC_AUTOINIT */ #ifdef SPI0_AUTOINIT SPI0_Init(); #endif /* SPI0_AUTOINIT */ #ifdef SystemControl_AUTOINIT SystemControl_Init(); #endif /* SystemControl_AUTOINIT */ #ifdef SysTick_AUTOINIT SysTick_Init(); #endif /* SysTick_AUTOINIT */ #ifdef UART0_AUTOINIT UART0_Init(); #endif /* UART0_AUTOINIT */ #ifdef UART1_AUTOINIT UART1_Init(); #endif /* UART1_AUTOINIT */ #ifdef WDOG_AUTOINIT WDOG_Init(); #endif /* WDOG_AUTOINIT */ }
/* User includes (#include below this line is not maintained by Processor Expert) */ static portTASK_FUNCTION(Task1, pvParameters) { (void)pvParameters; /* ignore unused parameter */ int spiFlag = 1; uint8_t txBuffer[5]; uint8_t rxBuffer[5]; YellowLEDInit(); // PerformanceGPIOInit(); // ADC0Init(); ADC0_Init(); PDB0Init(); // SPI2_Init(); // Spi1MasterInit(SPI2_BASE_PTR,BAUDRATE_500KHZ); // PDB0_Init(); hal_spi_init(); // hal_spi_transfe_start(); // txBuffer[0] = hal_spi_transfer_one_byte(0x9F,0); // txBuffer[1] = hal_spi_transfer_one_byte(0x0,0); // txBuffer[2] = hal_spi_transfer_one_byte(0x0,0); // txBuffer[3] = hal_spi_transfer_one_byte(0x0,0); // txBuffer[4] = hal_spi_transfer_one_byte(0x0,1); // hal_spi_transfe_stop(); // printf("%x %x %x %x %x\n",txBuffer[1],txBuffer[2],txBuffer[3],txBuffer[4]); // // Enable the ADC and PDB interrupts in NVIC set_irq_priority (INT_ADC0-16, 2); enable_irq(INT_ADC0-16) ; // ready for this interrupt. set_irq_priority (INT_PDB0-16, 2); enable_irq(INT_PDB0-16) ; // ready for this interrupt. set_irq_priority (INT_SPI2-16, 2); enable_irq(INT_SPI2-16) ; // ready for this interrupt. // set_irq_priority (INT_SWI-16, 3); // enable_irq(INT_SWI-16); EnableInterrupts; // NVICSTIR = (INT_SWI-16); // Start triggering from PDB peripheral PDB0_SC |= PDB_SC_SWTRIG_MASK; for(;;) { // GreenLED_Neg(); NegYellowLED(); // hal_spi_transfe_start(); // txBuffer[0] = hal_spi_transfer_one_byte(0x9F,0); // txBuffer[1] = hal_spi_transfer_one_byte(0x0,0); // txBuffer[2] = hal_spi_transfer_one_byte(0x0,0); // txBuffer[3] = hal_spi_transfer_one_byte(0x0,0); // txBuffer[4] = hal_spi_transfer_one_byte(0x0,1); // hal_spi_transfe_stop(); // printf("%x %x %x %x %x\n",txBuffer[1],txBuffer[2],txBuffer[3],txBuffer[4]); if(spiFlag) { // spiFlag = 0; txBuffer[0] = 0x9f; Spi2MasterTx(txBuffer,rxBuffer,4); } FRTOS1_vTaskDelay(100/portTICK_RATE_MS); /* wait for 100 ms */ } /* for */ }