NXP MAPS-KL43 GPIO快速上手 基于Keil uVision5 和 Kinetis SDK 2.0

分享到:

GPIO操作一直是MCU的典型应用,此帖使用MAPS-KL43和官方SDK 2.0对KL43的GPIO进行操作,使用PE31端口来控制LCD背光LED灯来闪烁,因为使用起来比较简单,下面直接贴上程序代码和演示动画,并提供相关注释,编译环境采用 Keil  uVision5。
  
MAPS-KL43开发套件:
  
      
原理图:
  
  
源码:
  1. include "board.h"
  2. " title="000000">">#000000">#include "fsl_debug_console.h"
  3. " title="000000">">#000000">#include "fsl_gpio.h"
  4. " title="000000">">#000000">#include "clock_config.h"
  5. " title="000000">">#000000">#include "pin_mux.h"
  6. " title="000000">">#000000">#include "fsl_port.h"
  7.  
  8.  
  9. " title="000000">">#000000">#define LCD_BLK_GPIO             GPIOE
  10. " title="000000">">#000000">#define LCD_BLK_GPIO_PIN         31
  11.  
  12. /*******************************************************************************
  13. * Definitions
  14. ******************************************************************************/
  15. " title="000000">">#000000">#define BOARD_LED_GPIO BOARD_LED_RED_GPIO
  16. " title="000000">">#000000">#define BOARD_LED_GPIO_PIN BOARD_LED_RED_GPIO_PIN
  17.  
  18.  
  19. void delay(void);
  20.  
  21.  
  22. /*******************************************************************************
  23. * delay
  24. ******************************************************************************/
  25. void delay(void)
  26. {
  27.     volatile uint32_t i = 0;
  28.     for (i = 0; i < 400000; ++i)
  29.     {
  30.         __asm("NOP"); /* delay */
  31.     }
  32. }
  33.  
  34. /*******************************************************************************
  35. * main
  36. ******************************************************************************/
  37. int main(void)
  38. {
  39.         
  40.         /* 初始化系统时钟. */
  41.         BOARD_BootClockRUN();
  42.         
  43.         /* 使能 LED端口时钟 */
  44.         CLOCK_EnableClock(kCLOCK_PortE);
  45.         
  46.         /* LED复合端口配置 */
  47.         PORT_SetPinMux(PORTE, 31U, kPORT_MuxAsGpio);
  48.         
  49.         
  50.         /* LED 端口结构体配置*/
  51.         gpio_pin_config_t led_config =
  52.         {
  53.                 /* 方向为输出 */
  54.                 kGPIO_DigitalOutput,
  55.                
  56.                 /* 输出低电平 */
  57.                 0,
  58.         };
  59.         
  60.         /* 初始化LED端口. */
  61.         GPIO_PinInit(LCD_BLK_GPIO, LCD_BLK_GPIO_PIN, &led_config);
  62.  
  63.  
  64.         while (1)
  65.         {
  66.                 /* LED端口电平取反. */
  67.                 GPIO_TogglePinsOutput(LCD_BLK_GPIO, 1u << LCD_BLK_GPIO_PIN);
  68.                
  69.                 /* 稍作延时. */
  70.                 delay();
  71.          }
  72. }
  73.  
复制代码
演示动画:查看原文:https://www.nxpic.org/module/forum/thread-604706-1-1.html
  

更多恩智浦(NXP)及科技资讯请关注:
NXP中文官方:https://www.nxp.com/zh-Hans/
NXP中文技术论坛:https://www.nxpic.org/
NXP新浪微博:https://weibo.com/nxpsemiconductors

继续阅读
NXP MAPS-KL43 UART快速上手 基于Keil uVision5 和 Kinetis SDK 2.0

UART 串口收发一直是MCU基本通信方式,此帖使用MAPS-KL43和官方SDK 2.0对KL43的UART进行收发操作,使用UART2 和串口调试助手,调试助手发送数据,MCU收到数据后再把数据传回来,一个完整测试过程,下面直接贴上程序代码和演示视频,并提供相关注释,编译环境采用 Keil uVision5。

智能手机键盘控制器的实现方法介绍与比较

简介智能手机的大脑是基带处理器(Baseband),内置微型处理器和专用信号处理电路。依靠基带控制器的先进设计,通用输入/输出口(GPIO)可用来实现按键开关功能。目前,专用键盘控制器IC已广泛用于智

精彩活动