【基于DAVE的英飞凌XMC4200的RS485通讯】

设备明细:

单片机:英飞凌开发板XMC4200 Platform2Go;
开发软件: DAVE;
测试设备:示波器。

调试PIN

TX: PIN 2.14

接线

TX PIN 2.14:接示波器信号端
GND:接示波器地端
Debug口USB:接电脑端USB口

DAVE

新建项目

【基于DAVE的英飞凌XMC4200的RS485通讯】_第1张图片
【基于DAVE的英飞凌XMC4200的RS485通讯】_第2张图片

选择对应的板子型号

【基于DAVE的英飞凌XMC4200的RS485通讯】_第3张图片

添加APP

【基于DAVE的英飞凌XMC4200的RS485通讯】_第4张图片
添加完之后的界面如下
【基于DAVE的英飞凌XMC4200的RS485通讯】_第5张图片

rename the added APP

右击UART_0 ----> Rename instant label
【基于DAVE的英飞凌XMC4200的RS485通讯】_第6张图片
【基于DAVE的英飞凌XMC4200的RS485通讯】_第7张图片
改完名之后显示如下
【基于DAVE的英飞凌XMC4200的RS485通讯】_第8张图片

配置PIN

右击UART,选择Manual PIN Allocator
【基于DAVE的英飞凌XMC4200的RS485通讯】_第9张图片
Receive PIN 配置为P2.15,
Transmit PIN 配置为P2.14。
其实重要的是Transmit PIN,因为现在我没有RS485的 transceiver,所以还没有办法与其他设备通信。
【基于DAVE的英飞凌XMC4200的RS485通讯】_第10张图片

生成代码

【基于DAVE的英飞凌XMC4200的RS485通讯】_第11张图片
点开项目文件夹 testRS485 —> DAVE —> Generated —> UART,可以看到生成的代码
【基于DAVE的英飞凌XMC4200的RS485通讯】_第12张图片

打开main.c,编写代码

【基于DAVE的英飞凌XMC4200的RS485通讯】_第13张图片

/*
 * main.c
 *
 *  Created on: 2023 Aug 07 12:51:00
 */


#include "DAVE.h"                 //Declarations from DAVE Code Generation (includes SFR declaration)

/**

 * @brief main() - Application entry point
 *
 * Details of function
* This routine is the application entry point. It is invoked by the device startup code. It is responsible for * invoking the APP initialization dispatcher routine - DAVE_Init() and hosting the place-holder for user application * code. */
int main(void) { DAVE_STATUS_t status; uint8_t send_data[8] = {0, 0x55, 0, 1, 0, 1, 0, 1}; status = DAVE_Init(); /* Initialization of DAVE APPs */ if (status != DAVE_STATUS_SUCCESS) { /* Placeholder for error handler code. The while loop below can be replaced with an user error handler. */ XMC_DEBUG("DAVE APPs initialization failed\n"); while(1U) { } } /* Placeholder for user application code. The while loop below can be replaced with user application code. */ while(1U) { /* Transmit the message */ UART_Transmit(&RS485, send_data, sizeof(send_data)); } }

编译

【基于DAVE的英飞凌XMC4200的RS485通讯】_第14张图片
编译完成界面
【基于DAVE的英飞凌XMC4200的RS485通讯】_第15张图片

调试

将板子通过调试端口USB与电脑连接
【基于DAVE的英飞凌XMC4200的RS485通讯】_第16张图片

点击debug按钮
【基于DAVE的英飞凌XMC4200的RS485通讯】_第17张图片
选择调试器
【基于DAVE的英飞凌XMC4200的RS485通讯】_第18张图片
【基于DAVE的英飞凌XMC4200的RS485通讯】_第19张图片
调试界面
【基于DAVE的英飞凌XMC4200的RS485通讯】_第20张图片
选择上图按钮可让程序一直跑。

测试结果

  1. 通过示波器测量TX pin 端发出的信号,图中白线是GND, 粉线是TX P2.14

【基于DAVE的英飞凌XMC4200的RS485通讯】_第21张图片

  1. 示波器端波形

参考资料

大家可以去英飞凌官网查找资料 Infineon product training

你可能感兴趣的:(嵌入式,单片机)