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

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