MICROBLAZE下UART的中断接收

1、新建microblaze工程
在这里插入图片描述
2、生成bitstream,并导入SDK,打开SDK软件。
3、新建xilinx app工程,选择helloworld模板。
4、在system.mss中打开关于uart中断的例子,有些代码是可以直接借鉴的。
在这里插入图片描述
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、实验结果
在这里插入图片描述
7、实验完成。
源码:
https://download.csdn.net/download/sinat_39724439/12351211

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章