this code is in (.c) and I need help with what is in the image I have already done most of it I just need help troubleshooting this is arm based board below is what I have so far   /*KL25Z_LED_Blinky.c*/ #include /* provides fixed width integer types. For example, uint32_t) */ #include "derivative.h" /* KL25Z info */ #include "mcg.h" /* main clock generator */ #include "systick.h" /* SysTick timer */ #include "KL25Z_gpio.h" /* GPIO routines */ #include "KL25Z_port.h" /* PORT routines */ #include "delays.h" /* software based delays */ /* Macro definitions */ #define RED_LED_PIN 18 /* GPIO and PORT module "pins", not the device pins */ #define GREEN_LED_PIN 19 #define BLUE_LED_PIN 1 #define LED_OFF 1 #define LED_ON 0 /* Globals */ volatile uint32_t sysTicks; /* required for SysTick support. Do not delete. */ int main(void) { /* Set of the main clock to run at 48 MHz and turn on SysTick * * The student should not make changes here unless instructed to do so. */ pll_init(8000000,0,1,4,24,1); // In mcg.c sets the main clock for 48 MHz sysTicks = 0; // clear SysTick counter variable. Increments every millisecond. initSysTicks(); // turns on SysTick interrupts and the count variable /* Initialize the tri-color LED outputs in the PORT and GPIO peripherals * */ /* turn on the PORT and GPIO module clocks */ enable_port_clock(PORTB_PERIPHERAL); enable_port_clock(PORTD_PERIPHERAL); /* set signal multiplexing for GPIOs to the LEDs */ set_port_mux(PORTB_PERIPHERAL, RED_LED_PIN, ALT1); set_port_mux(PORTB_PERIPHERAL, GREEN_LED_PIN, ALT1); set_port_mux(PORTD_PERIPHERAL, BLUE_LED_PIN, ALT1); /* setup pin circuits. There are no pulldown resistors on a KL25Z */ disable_port_pin_high_drive(PORTB_PERIPHERAL, RED_LED_PIN); disable_port_pin_filter(PORTB_PERIPHERAL, RED_LED_PIN); select_port_pin_slow_slew(PORTB_PERIPHERAL, RED_LED_PIN); disable_port_pin_pull_resistor(PORTB_PERIPHERAL, RED_LED_PIN); disable_port_pin_high_drive(PORTB_PERIPHERAL, GREEN_LED_PIN); disable_port_pin_filter(PORTB_PERIPHERAL, GREEN_LED_PIN); select_port_pin_slow_slew(PORTB_PERIPHERAL, GREEN_LED_PIN); disable_port_pin_pull_resistor(PORTB_PERIPHERAL, GREEN_LED_PIN); disable_port_pin_high_drive(PORTD_PERIPHERAL, BLUE_LED_PIN); disable_port_pin_filter(PORTD_PERIPHERAL, BLUE_LED_PIN); select_port_pin_slow_slew(PORTD_PERIPHERAL, BLUE_LED_PIN); disable_port_pin_pull_resistor(PORTD_PERIPHERAL, BLUE_LED_PIN); /* setup the GPIO */ init_gpio_pin(GPIOB_PERIPHERAL, RED_LED_PIN, GPIO_OUT); init_gpio_pin(GPIOB_PERIPHERAL, GREEN_LED_PIN, GPIO_OUT); init_gpio_pin(GPIOD_PERIPHERAL, BLUE_LED_PIN, GPIO_OUT); set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF); set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF); set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_OFF); /* Main loop * */ for(;;) { /* loop forever */ /* turn on and off the FRDM tri-color leds with GPIO function calls. */ set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_ON); delay_sec(3); set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF); delay_sec(1); set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_ON); delay_sec(3); set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF); delay_sec(1); set_gpio_pin_level(GPIOB_PERIPHERAL, BLUE_LED_PIN, LED_ON); delay_sec(3); set_gpio_pin_level(GPIOB_PERIPHERAL, BLUE_LED_PIN, LED_OFF); delay_sec(1); set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_ON); set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_ON); set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_ON); delay_sec(3); set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF); set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF); set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_OFF); delay_sec(1); } return 0; }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

this code is in (.c) and I need help with what is in the image I have already done most of it I just need help troubleshooting this is arm based board
below is what I have so far

 


/*KL25Z_LED_Blinky.c*/

#include <stdint.h> /* provides fixed width integer types. For example, uint32_t) */
#include "derivative.h" /* KL25Z info */
#include "mcg.h" /* main clock generator */
#include "systick.h" /* SysTick timer */
#include "KL25Z_gpio.h" /* GPIO routines */
#include "KL25Z_port.h" /* PORT routines */
#include "delays.h" /* software based delays */

/* Macro definitions */
#define RED_LED_PIN 18 /* GPIO and PORT module "pins", not the device pins */
#define GREEN_LED_PIN 19
#define BLUE_LED_PIN 1
#define LED_OFF 1
#define LED_ON 0

/* Globals */
volatile uint32_t sysTicks; /* required for SysTick support. Do not delete. */

int main(void) {

/* Set of the main clock to run at 48 MHz and turn on SysTick
*
* The student should not make changes here unless instructed to do so.
*/
pll_init(8000000,0,1,4,24,1); // In mcg.c sets the main clock for 48 MHz
sysTicks = 0; // clear SysTick counter variable. Increments every millisecond.
initSysTicks(); // turns on SysTick interrupts and the count variable

/* Initialize the tri-color LED outputs in the PORT and GPIO peripherals
*
*/

/* turn on the PORT and GPIO module clocks */
enable_port_clock(PORTB_PERIPHERAL);
enable_port_clock(PORTD_PERIPHERAL);

/* set signal multiplexing for GPIOs to the LEDs */
set_port_mux(PORTB_PERIPHERAL, RED_LED_PIN, ALT1);
set_port_mux(PORTB_PERIPHERAL, GREEN_LED_PIN, ALT1);
set_port_mux(PORTD_PERIPHERAL, BLUE_LED_PIN, ALT1);

/* setup pin circuits. There are no pulldown resistors on a KL25Z */
disable_port_pin_high_drive(PORTB_PERIPHERAL, RED_LED_PIN);
disable_port_pin_filter(PORTB_PERIPHERAL, RED_LED_PIN);
select_port_pin_slow_slew(PORTB_PERIPHERAL, RED_LED_PIN);
disable_port_pin_pull_resistor(PORTB_PERIPHERAL, RED_LED_PIN);

disable_port_pin_high_drive(PORTB_PERIPHERAL, GREEN_LED_PIN);
disable_port_pin_filter(PORTB_PERIPHERAL, GREEN_LED_PIN);
select_port_pin_slow_slew(PORTB_PERIPHERAL, GREEN_LED_PIN);
disable_port_pin_pull_resistor(PORTB_PERIPHERAL, GREEN_LED_PIN);

disable_port_pin_high_drive(PORTD_PERIPHERAL, BLUE_LED_PIN);
disable_port_pin_filter(PORTD_PERIPHERAL, BLUE_LED_PIN);
select_port_pin_slow_slew(PORTD_PERIPHERAL, BLUE_LED_PIN);
disable_port_pin_pull_resistor(PORTD_PERIPHERAL, BLUE_LED_PIN);

/* setup the GPIO */
init_gpio_pin(GPIOB_PERIPHERAL, RED_LED_PIN, GPIO_OUT);
init_gpio_pin(GPIOB_PERIPHERAL, GREEN_LED_PIN, GPIO_OUT);
init_gpio_pin(GPIOD_PERIPHERAL, BLUE_LED_PIN, GPIO_OUT);

set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_OFF);

/* Main loop
*
*/
for(;;) { /* loop forever */
/* turn on and off the FRDM tri-color leds with GPIO function calls.
*/
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF);
delay_sec(1);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF);
delay_sec(1);
set_gpio_pin_level(GPIOB_PERIPHERAL, BLUE_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, BLUE_LED_PIN, LED_OFF);
delay_sec(1);
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_ON);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_ON);
set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_OFF);
delay_sec(1);


}

return 0;
}

 

Exercise 1:
Modify the program to continuously blink the LEDS in the following pattern.
• Turn on the red LED for 3 seconds.
• Turn off the red LED for 1 seconds.
• Turn on the green LED for 3 seconds.
• Turn off the green LED for 1 seconds.
• Turn on the blue LED for 3 seconds
• Turn off the blue LED for 1 seconds
• Turn on all 3 LEDS at once for 3 seconds. The color should be white.
• Turn off all 3 LEDS for 1 second
• Repeat forever. Go back to Step 1.
Show and explain your work to the professor.
Exercise 2:
Modify the code to prompt the user to enter an integer k between 0 and 100. Then the code to perform the following:
1- The Red LED turns ON, if 0 < k < 10,
2- The Green LED turns ON, if , 10 <k< 20 ,
3- The Blue LED turns ON, if 20 <k< 30,
4- If 30 < k <100, blink the LEDS in the following pattern:
Turn on the red LED for 3 seconds.
• Turn off the red LED for 1 seconds.
• Turn on the green LED for 3 seconds.
• Turn off the green LED for 1 seconds.
• Turn on the blue LED for 3 seconds
• Turn off the blue LED for 1 seconds
Transcribed Image Text:Exercise 1: Modify the program to continuously blink the LEDS in the following pattern. • Turn on the red LED for 3 seconds. • Turn off the red LED for 1 seconds. • Turn on the green LED for 3 seconds. • Turn off the green LED for 1 seconds. • Turn on the blue LED for 3 seconds • Turn off the blue LED for 1 seconds • Turn on all 3 LEDS at once for 3 seconds. The color should be white. • Turn off all 3 LEDS for 1 second • Repeat forever. Go back to Step 1. Show and explain your work to the professor. Exercise 2: Modify the code to prompt the user to enter an integer k between 0 and 100. Then the code to perform the following: 1- The Red LED turns ON, if 0 < k < 10, 2- The Green LED turns ON, if , 10 <k< 20 , 3- The Blue LED turns ON, if 20 <k< 30, 4- If 30 < k <100, blink the LEDS in the following pattern: Turn on the red LED for 3 seconds. • Turn off the red LED for 1 seconds. • Turn on the green LED for 3 seconds. • Turn off the green LED for 1 seconds. • Turn on the blue LED for 3 seconds • Turn off the blue LED for 1 seconds
Expert Solution
Step 1

For the given code, we need to add input k such that we can loop the code

Given code: 

/*KL25Z_LED_Blinky.c*/

#include <stdint.h> /* provides fixed width integer types. For example, uint32_t) */
#include "derivative.h" /* KL25Z info */
#include "mcg.h" /* main clock generator */
#include "systick.h" /* SysTick timer */
#include "KL25Z_gpio.h" /* GPIO routines */
#include "KL25Z_port.h" /* PORT routines */
#include "delays.h" /* software based delays */

/* Macro definitions */
#define RED_LED_PIN 18 /* GPIO and PORT module "pins", not the device pins */
#define GREEN_LED_PIN 19
#define BLUE_LED_PIN 1
#define LED_OFF 1
#define LED_ON 0

/* Globals */
volatile uint32_t sysTicks; /* required for SysTick support. Do not delete. */

int main(void) {

/* Set of the main clock to run at 48 MHz and turn on SysTick
*
* The student should not make changes here unless instructed to do so.
*/
pll_init(8000000,0,1,4,24,1); // In mcg.c sets the main clock for 48 MHz
sysTicks = 0; // clear SysTick counter variable. Increments every millisecond.
initSysTicks(); // turns on SysTick interrupts and the count variable

/* Initialize the tri-color LED outputs in the PORT and GPIO peripherals
*
*/

/* turn on the PORT and GPIO module clocks */
enable_port_clock(PORTB_PERIPHERAL);
enable_port_clock(PORTD_PERIPHERAL);

/* set signal multiplexing for GPIOs to the LEDs */
set_port_mux(PORTB_PERIPHERAL, RED_LED_PIN, ALT1);
set_port_mux(PORTB_PERIPHERAL, GREEN_LED_PIN, ALT1);
set_port_mux(PORTD_PERIPHERAL, BLUE_LED_PIN, ALT1);

/* setup pin circuits. There are no pulldown resistors on a KL25Z */
disable_port_pin_high_drive(PORTB_PERIPHERAL, RED_LED_PIN);
disable_port_pin_filter(PORTB_PERIPHERAL, RED_LED_PIN);
select_port_pin_slow_slew(PORTB_PERIPHERAL, RED_LED_PIN);
disable_port_pin_pull_resistor(PORTB_PERIPHERAL, RED_LED_PIN);

disable_port_pin_high_drive(PORTB_PERIPHERAL, GREEN_LED_PIN);
disable_port_pin_filter(PORTB_PERIPHERAL, GREEN_LED_PIN);
select_port_pin_slow_slew(PORTB_PERIPHERAL, GREEN_LED_PIN);
disable_port_pin_pull_resistor(PORTB_PERIPHERAL, GREEN_LED_PIN);

disable_port_pin_high_drive(PORTD_PERIPHERAL, BLUE_LED_PIN);
disable_port_pin_filter(PORTD_PERIPHERAL, BLUE_LED_PIN);
select_port_pin_slow_slew(PORTD_PERIPHERAL, BLUE_LED_PIN);
disable_port_pin_pull_resistor(PORTD_PERIPHERAL, BLUE_LED_PIN);

/* setup the GPIO */
init_gpio_pin(GPIOB_PERIPHERAL, RED_LED_PIN, GPIO_OUT);
init_gpio_pin(GPIOB_PERIPHERAL, GREEN_LED_PIN, GPIO_OUT);
init_gpio_pin(GPIOD_PERIPHERAL, BLUE_LED_PIN, GPIO_OUT);

set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_OFF);

/* Main loop
*
*/
for(;;) { /* loop forever */
/* turn on and off the FRDM tri-color leds with GPIO function calls.
*/
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF);
delay_sec(1);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF);
delay_sec(1);
set_gpio_pin_level(GPIOB_PERIPHERAL, BLUE_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, BLUE_LED_PIN, LED_OFF);
delay_sec(1);
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_ON);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_ON);
set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_ON);
delay_sec(3);
set_gpio_pin_level(GPIOB_PERIPHERAL, RED_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOB_PERIPHERAL, GREEN_LED_PIN, LED_OFF);
set_gpio_pin_level(GPIOD_PERIPHERAL, BLUE_LED_PIN, LED_OFF);
delay_sec(1);


}

return 0;
}

steps

Step by step

Solved in 2 steps

Blurred answer
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY