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

发布时间 : 星期一 文章片上电子信息系统,基于EDA的FPGA,串口通信及串口中断更新完毕开始阅读2cbd6a4ee45c3b3567ec8bd2

2.2.3 实验步骤及程序:

1、 确定硬件环境及管脚的定义有无需要添加的,没有,沿用任务一硬

件。

2、 修改.c文件

#include \#include \

#include \

#define XPAR_LEDS_DEVICE_ID 0 main() {

XGpio leds_out;//指向GPIO

XGpio_Initialize (&leds_out, XPAR_LEDS_DEVICE_ID);//int XGpio_Initialize(XGpio *InstancePtr, u16 DeviceId);

//对象的指针

XGpio_SetDataDirection (&leds_out, 1, 0x00);

char i;

while(1) {

i=XUartLite_RecvByte(0x84000000); // 是否为1,BEGIN xps_uartlite//PARAMETER C_BASEADDR = 0x84000000,查找mhs if(i==0x31) { XUartLite_SendByte(0x84000000, 0x4C);//PARAMETER C_BASEADDR = 0x84000000,查找mhs,L

XUartLite_SendByte(0x84000000, 0x45);//E XUartLite_SendByte(0x84000000, 0x44);//D XUartLite_SendByte(0x84000000, 0x20);//空格 XUartLite_SendByte(0x84000000, 0x4F);//O XUartLite_SendByte(0x84000000, 0x4E);//N

XGpio_mSetDataReg(0x81420000,1,0x3F); //led on }

else {

21

XUartLite_SendByte(0x84000000, 0x4C);//PARAMETER C_BASEADDR = 0x84000000,查找mhs

XUartLite_SendByte(0x84000000, 0x45); XUartLite_SendByte(0x84000000, 0x44); XUartLite_SendByte(0x84000000, 0x20); XUartLite_SendByte(0x84000000, 0x4F); XUartLite_SendByte(0x84000000, 0x46);//F XUartLite_SendByte(0x84000000, 0x46);//F XGpio_mSetDataReg(0x81420000,1,0x00); //led off }

} }

实验结果:

当串口输入为1时,LED六盏灯亮。

22

当输入为非1时,LED六盏灯灭。

23

2.3 任务三 2.3.1 实验目的

上位机通过串口向FPGA发送不多于4个字符(char)的10进制数,各个数据之间以空格键分隔,以回车键结束。然后在Microblaze内部进行最简单的FIR滤波,将数据与其前一个数据相加,即y(n) = x(n) + x(n-1),然后以字符型的10进制数输出,数据之间依然以空格分隔。

2.3.2 实验内容

建立一个包含下列IP的处理器系统:

1、硬件环境沿用任务二 2、添加.c文件

2.3.3 实验步骤及程序

1、确定硬件环境及管脚的定义有无需要添加的,没有,沿用任务一硬件。

2、修改.c文件

#include \#include \#include \#include \

main() {

int i=0,j=0; int in;

int k=0,h=0,q=0; char a[10]; char a1[10]; char a2[10]; char out[10];

while(1) { i=0;k=0;j=0,h=0,q=0;//循环赋初值 do {

24