第一范文网 - 专业文章范例文档资料分享平台

片上电子信息系统,基于EDA的FPGA,串口通信及串口中断

来源:用户分享 时间:2025/7/28 18:11:23 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

2.4 任务四 2.4.1 实验目的

在程序的主循环中使LED灯闪烁。同时监听串口中断,如果串口上有接收数据,则把数据转发回PC机串口。需要使用Microblaze中断方式。

2.4.2 实验内容

建立一个包含下列IP的处理器系统: 1、新建硬件环境

2、添加.c文件

2.4.3 实验步骤及程序

1、新建硬件环境

在IP Catalog中从Clock,Reset and Interrupt部分添加XPS Interrupt Controller, 添加和连接中断控制器

29

设置 intc 的地址。

在PORT下,将RS232实例的interrupt端口设为New Connection, 出现信号名字

RS232_Interrupt.通过选择New Connection,为microblaze_0实例的INTERRUPT(外部中断请求)端口生成一个新的连接。这样就创建一个叫microblaze_0_ INTERRUPT的信号。

使用microblaze_0_INTERRUPT网络,连接intc实例的中断输出端口Irq到Microblaze中断输入端口。点击intc域的intr域,来打开Interrupt Connection 对话框。点击左侧的RS232_Interrupt,并且点击符号添加Connected Interrupts域,点击OK按钮。

30

选择Hardware->Generate Netlist。

选择Hardware->Generate Bitstream

31

2、修改.c文件

#include \#include \#include \

#include \#include \

#define XPAR_RS232_BASEADDR 0x84000000

char buff;

void uart0_int_handler(void) {

XGpio leds_out;//指向GPIO

XGpio_Initialize (&leds_out, XPAR_LEDS_DEVICE_ID);////

//对象的指针 ;deviceid是Xgpio控制的唯一识别号

XGpio_SetDataDirection (&leds_out, 1, 0x00);////此函数用于说明指针的方向,DirectionMask是离散输出输入标志0 in,1 out

while(!XUartLite_mIsReceiveEmpty(XPAR_RS232_BASEADDR)) //判断串口不为空

//判断UART的数据是否读空。参数为UART地址。返回值1表示已经读空。 {

buff =XUartLite_RecvByte(XPAR_RS232_BASEADDR); XUartLite_SendByte(XPAR_RS232_BASEADDR, buff); switch(buff) {

case 0x31: XGpio_DiscreteWrite(&leds_out, 1, 0x01); break; case 0x32: XGpio_DiscreteWrite(&leds_out, 1, 0x02); break; case 0x33: XGpio_DiscreteWrite(&leds_out, 1, 0x04); break; case 0x34: XGpio_DiscreteWrite(&leds_out, 1, 0x08); break; case 0x35: XGpio_DiscreteWrite(&leds_out, 1, 0x10); break; case 0x36: XGpio_DiscreteWrite(&leds_out, 1, 0x20); break;

32

片上电子信息系统,基于EDA的FPGA,串口通信及串口中断.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1quei32tek2b61z989n6_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top