MICROBLAZE下UART的中断接收

1、新建microblaze工程
MICROBLAZE下UART的中断接收_第1张图片
2、生成bitstream,并导入SDK,打开SDK软件。
3、新建xilinx app工程,选择helloworld模板。
4、在system.mss中打开关于uart中断的例子,有些代码是可以直接借鉴的。
MICROBLAZE下UART的中断接收_第2张图片
5、部分代码
void user_define()
{
XUartLite_Recv(&UartLite, ReceiveBuffer, BUFFER_SIZE);
if(ReceiveBuffer[0]==0x11 && ReceiveBuffer[1]==0x22)
{
SendBuffer[0]=0xaa;
SendBuffer[1]=0xbb;
XUartLite_Send(&UartLite, SendBuffer, 2);
}
else if(ReceiveBuffer[0]==0x22 && ReceiveBuffer[1]==0x33)
{
SendBuffer[0]=0xcc;
SendBuffer[1]=0xdd;
XUartLite_Send(&UartLite, SendBuffer, 2);
}
int Index;
InterruptProcessed_rx = FALSE;
for (Index = 0; Index < BUFFER_SIZE; Index++)
{
ReceiveBuffer[Index] = 0;
}
InterruptProcessed_rx = FALSE;
}
用户自定义功能主要实现接收到11 22 返回AA BB 接收到22 33 返回 CC DD
6、实验结果
MICROBLAZE下UART的中断接收_第3张图片
7、实验完成。
源码:
https://download.csdn.net/download/sinat_39724439/12351211

你可能感兴趣的:(VIVADO,fpga)