void main(void) { enum bool flag1, flag2, flag3, flag4; uc_8 count = 0; // counter Initialise(); // System initialisation switchesInit(); // Switches initialisation LEDsInit(); // LED initialisation sevenSegInit(); // 7segment initialisation flag = LEDsPut(~count); // display initial value for(;;) { if (switchesGet(&temp)) { count++; //increment counter flag1 = switchesGet(&temp); flag2 = LEDsPut(~count); flag3 = sevenSegPut(Seg1, count); flag4 = sevenSegPut(Seg2, count); if (count == 15) { count = 0; } } for (int i = 0; i < 100; ++i) { for (int j = 0; j < 1000; ++j) { // Software time delay to make operations visible } } } /* loop forever */ }
int main(void){ OS_Init(); LEDsInit(); switchesInit(&leftSwitch, &rightSwitch, SWITCH_PRIO); SBInit(SYS_CLK_FREQ/SBUS_FREQ, SBUS_ID, SBUS_PRIO); OS_AddThread(&IdleTask, 128, 7); OS_Launch(SYS_CLK_FREQ/OS_FREQ); return 0; }
int main(void) { // Initialise System Hardware INIT_SYSTEM(); // Initialise Memory manager mqInit(); // Initialise Object's Dictionary InitOD(); // Initialise PHY's PHY1_Init(); #ifdef PHY2_ADDR_t PHY2_Init(); #endif // PHY2_ADDR_t // Initialize MQTTSN MQTTSN_Init(); // Initialise optional components #ifdef LEDsInit LEDsInit(); #endif // LEDsInit #ifdef DIAG_USED DIAG_Init(); #endif // USE_DIAG SystemTickCnt = 0; StartSheduler(); while(1) { if(SystemTickCnt) { SystemTickCnt--; OD_Poll(); MQTTSN_Poll(); #ifdef DIAG_USED DIAG_Poll(); #endif // USE_DIAG } MQ_t * pBuf; pBuf = PHY1_Get(); if(pBuf != NULL) { mqttsn_parser_phy1(pBuf); } #ifdef PHY2_Get pBuf = PHY2_Get(); if(pBuf != NULL) { mqttsn_parser_phy2(pBuf); } #endif // PHY2_Get } }
//**************************************************************************** // // This function initializes the LED task. It should be called from the // application initialization code. // //**************************************************************************** void LEDTaskInit(void *pvParam) { // // Initialize the board LED driver and turn on one LED. This will have // the effect of the LEDs blinking back and forth, with one on at a time. // LEDsInit(); LED_On(LED_1); }
int main(void) { /* perform the needed initialization here */ LEDsInit(); Tec1Init(); Tec2Init(); Tec3Init(); Tec4Init(); ADCInit(); DACInit(); UARTInit(); TimerInit(100); for(;;) { if(LeerTec1()==0) { A += 0.1; UARTSendString(msj1); } if(LeerTec2()==0) { A -= 0.1; UARTSendString(msj2); } if(LeerTec3()==0) { A = 0; UARTSendString(msj3); } if(LeerTec4()==0) { UARTSendString(msj4); } } return 0; }
int main(void) { unsigned long ulPHYMR0; tBoolean bButtonWasPressed = false; tMotorState sMotorState=STATE_STOPPED; tWaveHeader sWaveHeader; unsigned long ulWaveIndex = 1; int losL,losH; ROM_SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH); ulPHYMR0 = ROM_EthernetPHYRead(ETH_BASE, PHY_MR0); ROM_EthernetPHYWrite(ETH_BASE, PHY_MR0, ulPHYMR0 | PHY_MR0_PWRDN); // Display96x16x1Init(true); // Display96x16x1StringDraw("MOTOR", 29, 0); // Display96x16x1StringDraw("DEMO", 31, 1); LEDsInit(); LED_On(LED_1); PushButtonsInit(); BumpSensorsInit(); MotorsInit(); ROM_SysTickPeriodSet(ROM_SysCtlClockGet() / 100); ROM_SysTickEnable(); ROM_SysTickIntEnable(); SoundInit(); // WaveOpen((unsigned long *) sWaveClips[ulWaveIndex].pucWav, &sWaveHeader); //mozliwe ze trzeba przed kazdym odtworzeniem ;/ // while(WaveOpen((unsigned long *) // sWaveClips[ulWaveIndex].pucWav, // &sWaveHeader) != WAVE_OK);//do zablokowania w razie bledu for(;;) { tBoolean bButtonIsPressed; tBoolean bBumperIsPressed[2]; bButtonIsPressed = !PushButtonGetDebounced((tButton)1); bBumperIsPressed[0] = !BumpSensorGetDebounced((tBumper)0); bBumperIsPressed[1] = !BumpSensorGetDebounced((tBumper)1); switch(sMotorState) { case STATE_STOPPED: { if(bButtonIsPressed && !bButtonWasPressed) { sterowanie(0,50,50); sMotorState = STATE_RUNNING; } break; } case STATE_RUNNING: { if(bButtonIsPressed && !bButtonWasPressed) { MotorStop((tSide)0); MotorStop((tSide)1); sMotorState = STATE_STOPPED; } else if(bBumperIsPressed[0]) { MotorStop((tSide)0); MotorStop((tSide)1); // WavePlayStart(&sWaveHeader); mozliwe ze tu losL =10+ g_ulTickCount % 20;//i dać los zamiast 15,mamy losowe skrecanie(10-30) losH =40+ g_ulTickCount % 30;//i dać los zamiast 60,mamy losowe skrecanie(40-70) sterowanie(1,losL,losH); sMotorState = STATE_TYL; } else if(bBumperIsPressed[1]){ MotorStop((tSide)0); MotorStop((tSide)1); losL =10+ g_ulTickCount % 20;//i dać los zamiast 15,mamy losowe skrecanie(10-30) losH =40+ g_ulTickCount % 30;//i dać los zamiast 60,mamy losowe skrecanie(40-70) sterowanie(1,losH,losL); // WavePlayStart(&sWaveHeader); mozliwe ze tu sMotorState = STATE_TYL; } break; } case STATE_TYL: {//cofanie tez moze byc losowe np losH+losL(50-100)+160=(210-260) while(cofanie<250); MotorStop((tSide)0); MotorStop((tSide)1); sterowanie(0,50,50); sMotorState = STATE_RUNNING; break; } default: { MotorStop((tSide)1); MotorStop((tSide)0); sMotorState = STATE_STOPPED; break; } } bButtonWasPressed = bButtonIsPressed; } }