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
相关推荐: