********************** ADC Initialisierung ********************** ADC12CTL0 &= ~ENC; // Disable conversions} ADC12CTL0 = ADC12ON //Activate ADC12 + MSC //Multiple sample and convert + SHT0_6 //Sample & Hold time 128 ADC12CLK cycles + SHT1_6; //Sample & Hold time 128 ADC12CLK cycles ADC12CTL1 = SHS_3 // Timer_B1 is the sample&hold source + SHP // SAMPCON from sampling-timer + !ISSH // sample-input signal is not inverted + ADC12DIV_3 //ADC12 clock divider 8 -> 1 MHz + ADC12SSEL_3 // ADC12 clock source SMCLK -> 8 MHz see init_clock + CSTARTADD_0 // conversion start address ADC12MEM0 + CONSEQ_1; // Conversion type: ADC12MCTL0 = SREF_0 // AVcc and GND + INCH_4; //input channel A4 ADC12MCTL1 = SREF_0 // AVcc and GND + INCH_5; //input channel A5 ADC12MCTL2 = SREF_0 // AVcc and GND + INCH_6; //input channel A6 ADC12MCTL3 = SREF_0 // AVcc and GND + INCH_0; //input channel A4 ADC12MCTL4 = SREF_0 // AVcc and GND + INCH_1; //input channel A5 ADC12MCTL5 = SREF_0 // AVcc and GND + INCH_2 // + EOS; //input channel A6 ADC12IE = 0x32; // Enable interrupt for ADC12IFG5 ********************** ADC Interrupt Handler ********************** __interrupt void ADC_ISR (void); ADC12_ISR(ADC_ISR) __interrupt void ADC_ISR (void) { ADC12CTL0 &= ~ENC; // Disable conversions toggle_led(); //TEST write_ADCbuffer(ADC12MEM0, ADC12MEM1, ADC12MEM2, ADC12MEM3, ADC12MEM4, ADC12MEM5); toggle_led(); //TEST ADC12CTL0 |= ENC; // Enable conversions } ********************** Timer B Initialisierung ********************** TBCCR0 = 4000-1; // PWM Period TBCCTL1 = OUTMOD_7; // CCR1 reset/set TBCCR1 = 40; // CCR1 PWM duty cycle TBCTL = CNTL_0 // 16 bit counter length + TBCLR // Timer_B clear: resets TBR, clock_div, count_direct + TBSSEL_2 // Use SMCLK to trigger the timer + ID_3 // Divide the timer B clock by 8 + MC_1; // up mode