int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer clockSetup(); TACCTL0 = CCIE; // Enable CCR0 interrupt TACCR0 = 62500; // Setting CCRO value TACTL = TASSEL_2 + ID_3 + MC_3; // SMCLK/8, up/down mode P1DIR |= BIT0; __bis_SR_register(LPM0_bits + GIE); return 0; }
void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer clockSetup(); portInit(); initializeB0I2C(); // int myConfig = ADS_OS | ADS_PGA_2 | ADS_128Hz | ADS_ALERT_NO | ADS_CONV1; int myConfig = ADS_PGA_2 | ADS_475Hz | ADS_ALERT_NO | ADS_CONVC; myADC = registerADS(ADS_01, ADS_DEFAULTC); // myADC = registerADS(ADS_01,ADS_DEFAULTC); setADS(myADC); _enable_interrupts(); startADS(); while (1) { a = readADS(); } }
int main(void) { WDTCTL = WDTPW+WDTHOLD; // Stop WDT directionSetup(); clockSetup(); interuptPin(); __enable_interrupt(); timerA0Setup(); __delay_cycles(250000); int sensorvalue; while(1){ //while(!(P2IN &= BIT6)){ sensorvalue = measure(); // trigPin ^= trigPin_nr; // toggle output pin // P2IFG &= ~BIT6; // clear interruptflag __delay_cycles(200000); //} } }
int main(void) { clockSetup(); ioSetup(); adcSetup(); while (1) { adcSample(); avg_adc = ((adc[0]+adc[1]+adc[2]+adc[3]+adc[4]+adc[5]+adc[6]+adc[7]+adc[8]+adc[9]) / 10);; findClosest(); if (distance < 20) { if (alarm_state == STATE_DISARMED) state = 0; else { if (state == 0) { alarm_state = STATE_ALERT; memset(txString, 0, 80); sprintf(txString, "%s%sSystem Status: %s", clear_screen, line_1, ALERT); i = 0; state = STATE_CHANGE; UC0IE |= UCA0TXIE; // Enable USCI_A0 TX interrupt UCA0TXBUF = txString[i++]; } P2OUT |= ALERTLED; P2OUT &= ~(SAFELED + WARNLED); change_lights = 1; } } else if (change_lights == 1) { if (alarm_state == STATE_ARMED) { P2OUT |= SAFELED; P2OUT &= ~(ALERTLED + WARNLED); } else if (alarm_state == STATE_DISARMED) { P2OUT |= WARNLED; P2OUT &= ~(ALERTLED + SAFELED); } } } }
void setup(){ // NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); // 0 bits for preemption, 4 bits for subpriority /* Set up interrupt controller: 2 bits for priority (0-3), * 2 bits for sub-priority (0-3). Priorities control which * interrupts are allowed to preempt one another. */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); /* Increase SysTick priority to be higher than USB interrupt * priority. USB code stalls inside interrupt and we can't let * this throw off the SysTick timer. */ NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, SYSTICK_PRIORITY, SYSTICK_SUBPRIORITY)); NVIC_SetPriority(DMA1_Stream3_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 0, 0)); NVIC_SetPriority(DMA1_Stream4_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 0, 0)); NVIC_SetPriority(SPI2_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 1, 0)); NVIC_SetPriority(ADC_IRQn, NVIC_EncodePriority(NVIC_PriorityGroup_2, 2, 0)); ledSetup(); setLed(RED); /* check if we need to DFU boot */ configureDigitalInput(SWITCH_B_PORT, SWITCH_B_PIN, GPIO_PuPd_UP); if(isPushButtonPressed()) jump_to_bootloader(); adcSetup(); clockSetup(); setupSwitchA(footSwitchCallback); setupSwitchB(pushButtonCallback); settings.init(); midi.init(MIDI_CHANNEL); patches.init(); #ifdef EXPRESSION_PEDAL #ifndef OWLMODULAR setupExpressionPedal(); #endif #endif RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); // DEBUG configureDigitalOutput(GPIOB, GPIO_Pin_1); // PB1, DEBUG LED debugClear(); #ifdef DEBUG_AUDIO RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // DEBUG configureDigitalOutput(GPIOA, GPIO_Pin_7); // PA7 DEBUG configureDigitalOutput(GPIOC, GPIO_Pin_5); // PC5 DEBUG clearPin(GPIOC, GPIO_Pin_5); // DEBUG clearPin(GPIOA, GPIO_Pin_7); // DEBUG #endif /* DEBUG_AUDIO */ usb_init(); #if SERIAL_PORT == 1 setupSerialPort1(115200); #elif SERIAL_PORT == 2 setupSerialPort2(115200); // expression pedal #warning expression pedal jack configured as serial port #ifdef EXPRESSION_PEDAL #error invalid configuration #endif #endif #ifdef OWLMODULAR configureDigitalInput(GPIOB, GPIO_Pin_6, GPIO_PuPd_NOPULL); // PB6 OWL Modular digital input configureDigitalOutput(GPIOB, GPIO_Pin_7); // PB7 OWL Modular digital output setPin(GPIOB, GPIO_Pin_7); // PB7 OWL Modular digital output #endif codec.setup(); codec.init(settings); printString("startup\n"); updateBypassMode(); codec.start(); }