element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Freedom development platform
  • Products
  • Dev Tools
  • Freedom development platform
  • More
  • Cancel
Freedom development platform
Blog Kinetis Design Studio 3.0 Kinetis SDK 1.2 Processor-Expert using FRDM-KL43Z: Quick tutorial on GPIO Interrupt (Toggling LED using button with Interrupt logic)
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Freedom development platform to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: bheemarao
  • Date Created: 21 Aug 2015 9:35 AM Date Created
  • Views 1103 views
  • Likes 1 like
  • Comments 0 comments
  • interrupt
  • gpio
  • freescale
  • frdm-kl43z
  • freedom
Related
Recommended

Kinetis Design Studio 3.0 Kinetis SDK 1.2 Processor-Expert using FRDM-KL43Z: Quick tutorial on GPIO Interrupt (Toggling LED using button with Interrupt logic)

bheemarao
bheemarao
21 Aug 2015

Here is a Project created using new KDS version 3.0 and Kinetis software development kit 1.2 on processor expert platform. This project Toggles the RED and Green LED by pressing the push buttons SW-1 and SW-2 implemented using Interrupt function on KL43Z freedom board.

 

Requirements

To run successfully this exercise, you need first to download following packages (link enclosed):

- IDE toolchain Kinetis Design Studio (KDS) min v3.0
- microcontroller Library
Kinetis Software Development Kit (KSDK) min 1.2
-
FRDM-KL43Z materials (schematics, Quick Start Package and Sample Code Package)
- latest
P&E Micro windows drivers and SDA Applications

[http://www.pemicro.com/downloads/main_downloads_temp/201507291203137773819/Pemicro_OpenSDA_Debug_MSD_Update_Apps_2015_03_12.zip ]


Before connecting your FRDM-KL43Z for the first time to the USB port of your computer, install the P&E Micro windows driver to ensure a correct detection of the board.

Install first the IDE toolchain KDS and when the installation ended successfully, install the MCU Library KSDK keeping the proposed installation path c:\freescale\kds or ksdk unchanged.


Launch KDS and define your workspace path, then select Help, Install New Software, Add, Archive, C:\Freescale\KSDK_1.2.0\tools\eclipse_update, select KSDK_1.2.0_Eclipse_Update.zip and press Open, OK, select KSDK Eclipse Update, press Next, Accept the Licence Agreement and press Finish. The KSDK libraries are now directly available in the IDE toolchain.

The automated code generator Processor Expert is already included in the IDE Toolchain (available separately as Processor Expert Driver Suite for other IDE toolchains).

 

The Hardware connection of the KL43Z from schematic are:


GPIO pin connection of the board:


LED1 is connected to PTD-5 Green LED

LED2 is connected to PTE31 RED LED

image

And push button schematic is as shown below:

image

You can observe that there is no Pull-up provided on the hardware for the GPIO connected to push buttons. We have to add a pull up to our requirement, this can be done while creating project in KDS tool in fsl_gpio component.

 

Simple Instruction to execute the project

Step-1: Create a bare bone project

Step-2: Add the component fsl_gpio to project

Step-3: Configure the hardware settings for GPIO i.e push button and LED inside the fsl_gpio component

Step-4: Add the software code and compile/Build the project

Step-5: Execute the project and see the result.

 

Step-1: Create a bare bone project

I have created a project by name “KL43Z GPIO Interrupt Toggle” using same steps as earlier

image

image

image

image

image

Now the project looks like as shown below

image

Step-2: Add the component fsl_gpio to the project

 

  Now i am going to add the component fsl_gpio from component library

image

Step-3: Configure the hardware settings for LED and Push Button in fsl_gpio components


Double click on the selected component “fsl_gpio“ and make the settings for input and output side:

Below is settings for input configuration


image

Now select the input buttons from the dropdown list and select SW1 and SW2 as shown below:

image

As mentioned earlier from schematic there is no pullup conected to buttons hence we need to select the check box pull enable and pull select as shown in snap shot

image

As we need to enable interrupt click below opions

Button-1 is connected to PortA-4 and button-2 is connected to PortC-3


image

Select PORTA and PORTC to generate code

image

OUTPUT configuration:

Now we need to configure the output LED pins:

image

Green LED is connected to PTD-5 and RED LED is connected to PTE-31 as shown in schematic

 

Click on the generate button as shown below:

image

Step-4: Add the software code and compile/Build the project


After generating the code you can see the interrupt routines skeleton structure wil be generated inside “Events.c” as shown below:

image

We need to add our toggling the led function inside these routines:

Drag the GPIO_DRV_TogglePinOutput() from components to PORTA interrupt routine handler as shown below:

image

Similarly add the function for PORTC interrupt handler as shown below:

 

image

We have connected PORT-A to Green led which in turn connected to button-1 SW1 and PORT-C is connected to Red LED in turn connected to SW-2 push button

And inside main() just put infinite loop while ()

 

image


Now compile/build the project by clicking the hammer button as shown below:

image

 

The project compiles with with no error, we will proceed further in execution the project:

image

image

Step-5: Execute the project and see the result

image

Click on debug configuration and select the proper OpenSDA usb port from debugger tab as shown below:

 

image

image

image

Below is my video output seen :

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

I have enclosed the project folder and executable for quick evaluation

 

  Happy working with GPIO toggling using Interrupt

Attachments:
KL43Z GPIO Interrupt Toggle.rar
KL43Z GPIO Interrupt Toggle-srec.rar
  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube