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

分享到:

UART串口收发一直是MCU基本通信方式,此帖使用MAPS-KL43和官方SDK 2.0对KL43的UART进行收发操作,使用UART2 和串口调试助手,调试助手发送数据,MCU收到数据后再把数据传回来,一个完整测试过程,下面直接贴上程序代码和演示视频,并提供相关注释,编译环境采用 Keil  uVision5。
   
MAPS-KL43开发套件:
  
  
原理图:
  
 
源码:
  1.   
  2. " title="a0522d">">#a0522d">#include "board.h"
  3. " title="a0522d">">#a0522d">#include "clock_config.h"
  4. " title="a0522d">">#a0522d">#include "fsl_common.h"
  5. " title="a0522d">">#a0522d">#include "fsl_uart.h"
  6. " title="a0522d">">#a0522d">#include "fsl_port.h"
  7. " title="a0522d">">#a0522d">#include "pin_mux.h"
  8.  
  9.  
  10. /*******************************************************************************
  11. * Definitions
  12. ******************************************************************************/
  13. " title="a0522d">">#a0522d">#define DEMO_UART UART2
  14. " title="a0522d">">#a0522d">#define DEMO_UART_CLKSRC kCLOCK_BusClk
  15.  
  16.  
  17. /*******************************************************************************
  18. * Main
  19. ******************************************************************************/
  20. int main(void)
  21. {
  22.     uint8_t buffer;
  23.         
  24.     /* 定义串口配置结构体. */
  25.     uart_config_t uart_config;
  26.  
  27.     /* 初始化系统时钟. */
  28.     BOARD_BootClockRUN();
  29.         
  30.     /* 使能UART GPIO时钟. */
  31.     CLOCK_EnableClock(kCLOCK_PortD);
  32.         
  33.     /* 配置UART GPIO 复合端口. */
  34.     PORT_SetPinMux(PORTD, 2, kPORT_MuxAlt3);
  35.     PORT_SetPinMux(PORTD, 3, kPORT_MuxAlt3);
  36.  
  37.     /* 获取 UART初始配置. */
  38.     UART_GetDefaultConfig(&uart_config);
  39.         
  40.     /* 设置 UART波特率. */         
  41.     uart_config.baudRate_Bps = 115200;
  42.         
  43.     /* 使能 UART收发. */         
  44.     uart_config.enableTx = true;
  45.     uart_config.enableRx = true;
  46.  
  47.     /* UART初始化. */         
  48.     UART_Init(DEMO_UART, &uart_config, CLOCK_GetFreq(DEMO_UART_CLKSRC));
  49.  
  50.         
  51.     while (1)
  52.     {
  53.          /* 接收串口数据存放在 buffer中. */
  54.         UART_ReadBlocking(DEMO_UART, &buffer, 1);
  55.                
  56.          /* 将 buffer中的数据通过串口发送出去. */
  57.         UART_WriteBlocking(DEMO_UART, &buffer, 1);
  58.     }
  59. }
  60.   
复制代码

 

 

 
 
更多恩智浦(NXP)及科技资讯请关注:
NXP中文官方:https://www.nxp.com/zh-Hans/
NXP中文技术论坛:https://www.nxpic.org/
NXP新浪微博:https://weibo.com/nxpsemiconductors
继续阅读
NXP MAPS-KL43 GPIO快速上手 基于Keil uVision5 和 Kinetis SDK 2.0

GPIO操作一直是MCU的典型应用,此帖使用MAPS-KL43和官方SDK 2.0对KL43的GPIO进行操作,使用PE31端口来控制LCD背光LED灯来闪烁,因为使用起来比较简单,下面直接贴上程序代码和演示动画,并提供相关注释,编译环境采用 Keil uVision5。

精彩活动