FGPA_Microblaze UART 中断
由于底层所给函数发送与接收都采用中断,所用库函数比较复杂 ,有些更改涉及底层函数,因此结合网上论坛 、百度文库调试了串口中断接收程序。通过串口调试助手发送数据 ,以“发送新行”结束 。 硬件外设波特兰:115200;停止位:1数据位:8;奇偶校验:无
#include "xuratlite.h"
#include "xuarttlite_h.h"
#include "xparameters.h"
#include "xintc.h"
#define USART_REC_LEN 100
XUartLite UartLite;
typedef struct
{
u8 Position;
u8 ReceiveBuffer[USART_REC_LEN];
}RingBuff_t;
RingBuff_t buffer;
void uart_init(void)
{
`XUartLite_Initialize(&UartLite,XPAR_UARTLITE_0_DEVICE_ID);
microblaze_enable_interrrupts();
XUartLite_EnableInterrupt(&UartLite);
XIntc_RegisterHandler(XPAR_INTC_0_BASEADDR,\
XPAR_AXI_INTC_0_AXI_UARTLITE_0_INTERRUPT_INTR,\
(XInterruptHandler)uart_rx_Handler,\
(void *)0);
XIntc_MasterEnable(XPAR_INTC_0_BASEADDR);
XIntc_EnableIntr(XPAR_INTC_0_BASEADDR,\
XPAR_AXI_UARTLITE_0_INTERRUPT_MASK);
}
void uart_rx_Handler(void)
{
while(1)
{
if(!XUartLite_IsReceiveEmpty(XPAR_AXI_UARTLITE_0_BASEADDR))
{
buffer.ReceiveBuffer[buffer.Position]=\
XUartLite_RecvByte(XPAR_AXI_UARTLITE_0_BASEADDR);
//XUartLite_SendByte(XPAR_AXI_UARTLITE_0_BASEADDR,\
buffer.ReceiveBuffer[buffer.Position]);
}
if(buffer.ReceiveBuffer[(buffer.Position)-1] ==0x0A)
{
buffer.Position = 0;
break;
}
}
}
FGPA_Microblaze UART 中断的更多相关文章
- stm32 uart 中断 蜜汁bug
在项目中,使用stm32f103,配置uart1接收RXNE中断,使用DMA来进行UART1的发送. 初始化代码如下: void uart_init(u32 bound) { GPIO_InitTyp ...
- 基于ZYNQ 的UART中断实验之串口写数据到DDR3中
1.参考 UG585 网络笔记 2.理论知识 参见上一次实验:基于ZYNQ 的UART中断实验 3.实验目的 练习使用UART的中断实验,并将接收到的数据写入到DDR3中. 4.实验过程 建立工程,设 ...
- ARM异常---一个Uart中断的触发处理过程:
首先给出一些定义: //2440addr.inc INTOFFSET EQU 0x4a000014 ;Interruot request source offset //option.inc _ISR ...
- STM32F072从零配置工程-基于HAL库的串口UART中断配置
先上一个采用串口直接传输的Demo: 此处的思路是完全采用HAL库来实现的,核心是运用HAL_UART_Transmit_IT和HAL_UART_Receive_IT两个函数来实现的,可以作为一个De ...
- 基于zynq 7020的串口UART中断实验
1.参考 UG585,P1790[JokerのZYNQ7020]UART学会Zynq(27)UART中断驱动模式示例 2.理论知识 在ZYNQ的中断中有一个IOP的中断集,它包几个外设的中断,其中包含 ...
- Zynq-7000 FreeRTOS(二)中断:串口Uart中断
总结Zynq-7000器件的PS上的串口中断,为FreeRTOS中断实验做准备.
- STM3的Uart中断接受数据和非中断接受数据!
//非中断方式接受数据if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET) //接收数据寄存器非空标志位{ str = USART_Recei ...
- 基于STM8的UART发送和中断接收---STM8-第二章
1. 综述 UART的基础知识,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器. 做软件开发的人都 ...
- 什么是UART中的FIFO
FIFO是先进先出缓冲区的意思,即串口接收到的数据可以先进入FIFO,不必马上进入中断服务程序接收,这样可以节省CPU时间.对于发送数据也一样可以把要发送的数据一起写入FIFO,串口控制器按照写入的顺 ...
随机推荐
- 注解式HTTP请求Feign (F版)
Spring Cloud 为开发者提供了在分布式系统中的一些常用的组件(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,决策竞选,分布式会话集群状态).使用Sprin ...
- FreeMarkerz在List中取任意一条数据的某一个值
首先你要知道要取的数据的下标 <#list itemsList as item> <#if item_index==1> <#if "${item.value} ...
- Java1.8的HashMap源码解析
java1.8是现在用的最多的版本,hashmap是现在用的最多的map,今天我们试图分析一下源码. 数据结构 首先我们注意到数据是存放在一个Node数组里面 transient Node<K, ...
- 搭建一套ASP.NET Core+Nacos+Spring Cloud Gateway项目
前言 伴随着随着微服务概念的不断盛行,与之对应的各种解决方案也层出不穷.这毕竟是一个信息大爆发的时代,各种编程语言大行其道,各有各的优势.但是有一点未曾改变,那就是他们服务的方式,工作的时候各 ...
- 基于4G Cat.1的内网穿透实例分享
上一篇分享了:小熊派4G开发板初体验 这一篇继续BearPi-4G开发板实践:内网穿透实验. 基本TCP的socket通信测试 之前我们学习WiFi模块时,与PC进行TCP协议的socket通信测试我 ...
- 树的子结构(剑指offer-17)
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解析 解答 /** public class TreeNode { int val = 0; Tr ...
- day60 django入门
目录 一.静态文件配置 1 引子 2 如何配置 1 在settins.py中的具体配置 2 静态文件的动态解析(html页面中) 二.request对象方法初识 三.pycharm链接数据库(mysq ...
- js 声明变量规范和特殊变量情况
声明变量特殊情况 情况 说明 结果 var age ; console.log (name); 只声明 不赋值 undefined console.log(name) 不声明 不赋值 直接使用 ...
- bzoj4318OSU!*
bzoj4318OSU! 题意: 一个长度为n的序列,每个元素有一定概率是1,不是1就是0.连续x个1可以贡献x^3的分数,问期望分数. 题解: 期望dp.f1[i]表示连续到i的期望长度,f2[i] ...
- Json对象,Json数组,Json字符串的区别
Json对象: var str = {"姓名":"张三","性别":"男","年龄":"2 ...