ZYNQ:PS-PL双串口通信

背景说明

前期实现PL-CAN和PS-CAN功能出现许多问题,最近也没有实现CAN通信。为了在回学校之间,能够熟悉CAN通信的基本流程以及协议解析的基本思路,本文聚焦于双串口通信。目的是通过小梅哥开发板上的两个串口,实现串口1上位机发送的数据,通过串口2上上位机显示出来,即野火串口调试助手SDK terminal之间的通信转换。

PS-串口

在前面的CAN例程中,已经实现了print函数发送数据到SDK terminal。为了能够接收SDK Terminal发送的数据,需要添加串口中断流程,从而能够接收相关的信息。在此基础上,可以处理接收的数据并发送到野火串口小梅哥例程中有串口中断实验,按照这个逻辑,完成基本功能即可,这样就熟悉了双串口通信的基础流程。

搭建系统

串口逻辑修改

在前期系统上,修改串口逻辑,实现中断功能即可。但是在学习例程过程中,发现小梅哥例程和官方例程存在不小差异,甚至出现scugic这样的中断管理控制器。整个代码流程比较长,存在问题可能也会比较多,容易让人产生一种疑惑感。
在这里插入图片描述

	 */
	Status = SetupInterruptSystem(IntcInstPtr, UartInstPtr, UartIntrId);
	if (Status != XST_SUCCESS) {
		return XST_FAILURE;
	}

	/*
	 * Setup the handlers for the UART that will be called from the
	 * interrupt context when data has been sent and received, specify
	 * a pointer to the UART driver instance as the callback reference
	 * so the handlers are able to access the instance data
	 */
	XUartPs_SetHandler(UartInstPtr, (XUartPs_Handler)Handler, UartInstPtr);

注意
ZYNQ:PS-CAN总线功能应用文章已经解决了CAN帧发送问题。因此本文没有继续的必要,直接在CAN外设基础上实现相关功能即可。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值