Adsense

Write the embedded C code to blink all three green, red and blue the LEDs on the FRDM-KL25Z4 after 500ms.

 /* Toggling all three LEDs on FRDM-KL25Z board.
 * Program toggles all three LEDs on the FRDM-KL25Z board.
 * The red LED is connected to PTB18.
 * The green LED is connected to PTB19.
 * The blue LED is connected to PTD1.
 * The LEDs are low active (a '0' turns ON the LED).
 */

#include <MKL25Z4.H>

int main (void) {
    void delayMs(int n);
        
        // setup part includes Enable of clock, configure GPIO and output
    
            SIM->SCGC5 |= 0x1400;        /* enable clock to Port B */
            PORTB->PCR[18] = 0x100;     /* make PTB18 pin as GPIO (See Table 2-4)*/
            PORTB->PCR[19] = 0x100;     /* make PTB19 pin as GPIO */
            PTB->PDDR |= 0xC0000;       /* make PTB18, 19 as output pin */
            PORTD->PCR[1] = 0x100;      /* make PTD1 pin as GPIO */
            PTD->PDDR |= 0x02;          /* make PTD1 as output pin */
        
        // always run loop
    while (1) {
                PTB->PDOR &= ~0x80000;  /* turn on green LED */
                delayMs (500);
                PTB->PDOR |= 0x80000;  /* turn off green LED */
                delayMs (500);

                PTB->PDOR &= ~0x40000;  /* turn on red LED */
                delayMs (500);
                PTB->PDOR |= 0x40000;  /* turn off red LED */
                delayMs (500);
            
                PTD->PDOR &= ~0x02;     /* turn on blue LED */
                delayMs(500);
                PTD->PDOR |= 0x02;      /* turn off blue LED */
                delayMs(500);
    }
}

/* Delay n milliseconds
 * The CPU core clock is set to MCGFLLCLK at 41.94 MHz in SystemInit().
 */
void delayMs(int n) {
    int i;
    int j;
    for(i = 0 ; i < n; i++)
        for (j = 0; j < 7000; j++) {}
}

No comments:

Post a Comment

Write a ARM cortex M0+ assembly language code based on arithmatc and logical instructions.

 Problem 1: Implement following code conversions to convert binary no 0x89ABCDEF(32-bits) into a) BCD (64-bits)   b) Gray (32-bits) Problem...