# 2024-2025 Deeltoets 2 ## Opgaven De opgaven kun je vinden op: [https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2024-2025_Deeltoets_2.pdf](https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2024-2025_Deeltoets_2.pdf) ## Uitwerkingen ### Toetsvraag 1 ```c #include // Vraag 1C: #pragma vector = PORT1_VECTOR __interrupt void port1_isr(void) { if ((P1IFG & BIT4) != 0) // S0 { P1OUT &= ~BIT6; P1IFG &= ~BIT4; // clear interrupt flag } if ((P1IFG & BIT5) != 0) // S1 { P1OUT |= BIT6; P1IFG &= ~BIT5; // clear interrupt flag } } int main() { WDTCTL = WDTPW | WDTHOLD; // Stop de watchdog timer // Vraag 1A DCOCTL = 0; BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; // Vraag 1B P1DIR |= BIT6; P1OUT |= BIT6; // Vraag 1C P1REN = BIT5 | BIT4; P1OUT |= BIT5 | BIT4; P1IE = BIT5 | BIT4; P1IES = BIT5 | BIT4; P1IFG = 0; __enable_interrupt(); // Vraag 1E P2DIR |= BIT5; P2SEL |= 1<<5; P2SEL2 &= ~(1<<5); // P2.5 = TA1.2 BCSCTL3 = LFXT1S_2; // Timer 1 use ACLK, up mode en input divider = 1 TA1CTL = TASSEL_1 | ID_0 | MC_1; // Periodetijd = 1 / 0.5 = 2 s TA1CCR0 = (2 * 12000) - 1; // 23999 // Output Mode 3: Set/Reset TA1CCTL2 = OUTMOD_3; // 25% hoog ==> 75% laag TA1CCR2 = (2 * 12000) * 0.75; // 18000 niet -1 while(1) { } } ``` ### Toetsvraag 2 De antwoorden op toetsvraag 2 kun je vinden op: [https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2024-2025_Deeltoets_2_antwoorden.pdf](https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2024-2025_Deeltoets_2_antwoorden.pdf)