【前言】
前面我通过配置GPIO实现了LED灯的工程,串口作为最常用的输入输出设备,掌握这一外设是最基础的技能之一。这一篇我将分享如何从零开始配置串口并实现串口的输出。
【MCC配置串口】
1、首先打开开发板的原理图,找到串口外接到调试的接口。
从用户手册的原理图,得知DEBUG是接到了PB16、PB17上。
2、打开MCC的pin Settings找到PB16,通过function,得知他属于SERCON5
3、在MCC中添加SERCOM5,配置为UART,保持默认配置,配置好后,点击生成代码。
4、在工程中,我们看到了生成了sercom/usart的两个文件:
在plib_sercom5_usart.h中有如下两个文件,框中的SERCOM5_USART_Initialise为初始化串口,SERCOM5_USART_Write应该就是发送字符串的程序。
【测试】
在main.c中添加初始化与发送字符串函数如下:
int main ( void ) { /* Initialize all modules */ SYS_Initialize ( NULL ); SERCOM5_USART_Initialize(); SYSTICK_TimerInitialize(); SYSTICK_TimerStart(); while ( true ) { LED_Toggle(); SERCOM5_USART_Write("hello world",sizeof("hello world")); SYSTICK_DelayMs(500); /* Maintain state machines of all polled MPLAB Harmony modules. */ SYS_Tasks ( ); } /* Execution should not come here during normal operation */ return ( EXIT_FAILURE ); }
编译下载,打开串口监视器,就可以看到预期输出了hello world:
【小结】
这是我第一次使用MCC来生成串口驱动,步骤简单,这要得益于MPLAB生态的图形化工具。他生成的代码也是通俗易懂,因此入门microChip的MCU编程非常简单。