示例#1
0
/* Main function */
void main(void) {
    /* Disable the timer so it doesn't run when we don't want it to be running */
    timer_Control = TIMER1_DISABLE;
    
    /* By using the 32768 kHz clock, we can count for exactly a half second here, or a different interval of time */
    timer_1_ReloadValue = timer_1_Counter = HALF_SECOND;
    
    /* Enable the timer, set it to the 32768 kHz clock, enable an interrupt once it reaches 0, and make it count down */
    timer_Control = TIMER1_ENABLE | TIMER1_32K | TIMER1_0INT | TIMER1_DOWN;
    
    /* Initialize the interrupt handlers */
    int_Initialize();
    
    /* Set the isr_on routine to run when the [ON] key is pressed */
    int_SetVector(ON_IVECT, isr_on);
    
    /* Set the isr_timer1 routine to run when the timer expires */
    int_SetVector(TIMER1_IVECT, isr_timer1);
    
    /* Tell the interrupt controller that the ON flag should be enabled, as with the timer 1 interrupt*/
    int_EnableConfig = INT_ON | INT_TIMER1;
    int_LatchConfig = INT_TIMER1;
    
    /* Interrupts can now generate after this */
    int_Enable();
    
    /* The interrupts will trigger inside this loop */
    while(true);
}
示例#2
0
/* Main function */
void main(void) {
    /* Randomize things */
    srand( rtc_Time() );

    /* Clean up the home screen */
    prgm_CleanUp();

    /* Initialize the interrupt handlers */
    int_Initialize();

    /* Set the isr_on routine to run when the [ON] key is pressed */
    int_SetVector(ON_IVECT, isr_on);
    int_SetVector(RTC_IVECT, isr_rtc);
    int_EnableConfig = INT_ON | INT_RTC;

    /* Configure the RTC */
    rtc_LoadSeconds = rtc_LoadMinutes = rtc_LoadHours = rtc_LoadDays = 0;
    rtc_Control = RTC_ENABLE | RTC_LOAD | RTC_SEC_INT_SOURCE;

    /* Wait for the RTC to load in the new values and then acknowledge all the interrupts */
    while( rtc_IsBusy() );
    rtc_IntAcknowledge = RTC_INT_MASK;

    /* Enable interrupts */
    int_Enable();

    while(!exit_loop);

    /* Reset interrupts and exit */
    int_Reset();
    prgm_CleanUp();
}
示例#3
0
static long write_bo(struct boRecord *pbo) {

    switch (((recPrivate*)pbo->dpvt)->function) {
    	/******* no int ***********
       case CPCI_BO_RUN_MODE:
           if(pbo->val == 0)
              setRunMode(MODE_TEST);
           else
              setRunMode(MODE_NORMAL);
           break;
      ****************************/
       case CPCI_BO_INT_ENABLE:
           if(pbo->val == 0)
               int_Disable(((recPrivate*)pbo->dpvt)->pCard);
           else
               int_Enable(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_RF_RESET:
           if(pbo->val == 0)
               clear_RFReset_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_RFReset_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_SWEEP_OPTION:
           if(pbo->val == 0)
               clear_Sweep_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Sweep_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_AMP_OPTION:
           if(pbo->val == 0)
               clear_AMP_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_AMP_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_AMP_FF_OPTION:
           if(pbo->val == 0)
               clear_AMP_FF_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_AMP_FF_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_AMP_MODIFY_OPTION:
           if(pbo->val == 0)
               clear_AMP_Modify_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_AMP_Modify_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_TUNE_OPTION:
           if(pbo->val == 0)
               clear_Tune_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Tune_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_FRONT_TUNE_OPTION:
           if(pbo->val == 0)
               clear_Front_Tune_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Front_Tune_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_TUNE_FF_OPTION:
           if(pbo->val == 0)
               clear_Tune_FF_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Tune_FF_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_TUNE_MODIFY_OPTION:
           if(pbo->val == 0)
               clear_Tune_Modify_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Tune_Modify_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_PHASE_OPTION:
           if(pbo->val == 0)
               clear_Phase_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Phase_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_POINT_SWEEP:
           if(pbo->val == 0)
               point_Sweep_S(((recPrivate*)pbo->dpvt)->pCard);
           else
               point_Sweep_P(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_ERROR_OPTION:
           if(pbo->val == 0)
               ((recPrivate*)pbo->dpvt)->pCard->errorFlag = 0;
           else
               ((recPrivate*)pbo->dpvt)->pCard->errorFlag = 1;
           break;
       case CPCI_BO_PHASE_FF_OPTION:
           if(pbo->val == 0)
               clear_Phase_FF_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Phase_FF_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_PHASE_MODIFY_OPTION:
           if(pbo->val == 0)
               clear_Phase_Modify_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Phase_Modify_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_DRV_RESET:
           if(pbo->val == 0)
               clear_Drv_Option(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_Drv_Option(((recPrivate*)pbo->dpvt)->pCard);
           break;
       case CPCI_BO_SG_MODE:
           if(pbo->val == 0)
               clear_SG_Mode(((recPrivate*)pbo->dpvt)->pCard);
           else
               set_SG_Mode(((recPrivate*)pbo->dpvt)->pCard);
           break;
       default:
           recGblRecordError(S_db_badField,(void *)pbo,
                    "devBoD212 Write_bo, bad parm");
           return(S_db_badField);
    }

    pbo->udf=0;
    return 0;
}