简介
快速通过官方的example工程跑通MPC5744P的UART通信。
一、软件工程
- 点击File->New->S32DS Project from Example,打开示例程序窗口。
- 选择MPC5744P->LINFlexD_UART_MPC5744P,点击Finish,创建UART的示例工程。
- 工程创建成功,main.c中UART的测试代码。
- 点击锤子图标,编译代码。
二、硬件连接
- 将硬件串口板与MPC5744P的UART引脚连接。
- 串口这里是使用了LIN的接口实现的,J175模块需要将4-6,3-5短接起来,然后串口板的TX接J3.2(J3的第2个口),RX接J3.4(J3的第4个口),GND接J3.11(J3的第11个口)。
- 具体的引脚对于关系图如下
三、代码烧写和运行
- 功能快捷区,选择瓢虫图标下拉菜单的Debug Configurations,点击打开。
- 在GDB PEMicro Interface Debugging下有2个配置。这里我们就先选择LINFlexD_UART_MPC5744P_Debug,将程序下载进Flash中去。
- 选中LINFlexD_UART_MPC5744P_Debug,点击Debugger,Interface选择OpenSDA Embedded Debug-USB Port,Port选择USB1-OpenSDA,Device Name选择MPC5744P,点击Debug。
- 跳出确认视图切换的弹窗,这里我们勾选Remember my decision(不勾选的话每次这个弹窗都会跳出来),点击Yes。
- 跳到调试界面,如下图所示。此时程序已经下载到芯片中去了,并且已经运行到main入口。
- 打开串口助手软件,选择与开发板连接的串口号,波特率19200,打开串口。
- 点击全速运行按钮,让程序直接运行。
- 可以从串口助手软件中看到,有串口字符输出。至此,验证了example工程中的串口输出功能。
四、串口回显功能测试
- 在main.c文件中的for循环中加入echoLINFlexD_1()函数执行。
- echoLINFlexD_1()函数在linflexd_uart.c中,主要实现串口回显的功能(从串口接收端口接收数据,并将接收的数据再通过串口发送端口直接发送出去)。
- 重新编译下载代码,并全速运行。点击串口助手的发送按钮,将发送框中的字符发送给开发板,接着就可以看到,串口助手立马收到了发送的字符数据。
五、源代码分析
- 串口波特率的配置,TX、RX引脚的初始化。
- 串口数据发送,传输1个字节。
- 循环发送总数据。
- 等待串口接收完成,完成后读取接收的数据。
六、参考文件
https://www.nxp.com.cn/document/guide/getting-started-with-the-devkit-mpc5744p:NGS-DEVKIT-MPC5744P?subSection=out-of-the-box-6