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,串口控制器按照写入的顺 ...
随机推荐
- 执行dotnet *.dll启动项目,如何修改环境变量----ASPNETCORE_ENVIRONMENT
docker环境: 启动容器时,添加参数:-e " ASPNETCORE_ENVIRONMENT=Development" windows系统: 命令行,以管理员身份运行:setx ...
- 浅谈JVM和垃圾回收
写在前面 简单的介绍一下JVM(Java Virtual Machine)吧,它也叫Java虚拟机.虽然它叫虚拟机,但是实际上不是我们所理解的虚拟机,它更像操作系统中的一个进程.JVM屏蔽了各个操作系 ...
- 干!垃圾微软!发布我的Netcore跨平台UI框架 CPF
什么鬼,我的CPF快写好了,你居然也要搞跨平台UI框架?什么Maui? 之前怎么不早说要搞跨平台UI框架呢?看到谷歌搞flutter眼红了?明年年底发布?又搞这种追别人屁股的烂事情. 什么MVU模式? ...
- 让网页变灰的实现_网站蒙灰CSS样式总汇
每次全国哀悼日,各大网站首页都变成了灰色,添加以下全局CSS样式,可以实现此效果: 方法一 html { -webkit-filter: grayscale(100%);filter:progid:D ...
- Tallest Cow,题解
题目链接 题意: 问满足一系列形如ab可以相互看到的约束的所有奶牛的最大身高(最高的编号和高度已给出) 分析: 首先,这个可以互相看到指的是中间的人比两头的都矮,一条斜线看到的不行,那么其实我们就可以 ...
- Face The Right Way思维。。。
题目再次链接 题意: 已知01序列a,求进行定长子串取反的最少操作次数,以及最少时的定长. 分析: 首先,先想一想怎么暴力吧.这样想:要保证最小,那么必然不会对同一个区间反转两次,而在k一定时,则不会 ...
- [JAVA]枚举类型的应用
本文介绍枚举类的概念和开发过程中枚举的用法. 枚举类使用enum关键字定义,enum默认继承自Enum类,由于java单继承的特点,enum类无法再继承其他父类 一.枚举类的特性 1.简单枚举类的定义 ...
- 震惊!慎老师怒吃pks并大呼:一口就吃完了!
慎老师吃pks是怎么回事呢?慎老师相信大家都很熟悉,但是慎老师吃pks是怎么回事呢,下面就让小编带大家一起了解吧. 慎老师吃pks,其实就是慎老师把花花蛤吃了,大家可能会很惊讶慎老师怎么会吃花花蛤呢? ...
- SpringCloud组件的停更和替换说明
SpringCloud的Hoxton版本,和之前的版本相比,用新的组件替换掉了原来大部分的组件,老的组件现在处于 停更不停用 的状况. 详情见下图(× 的表示之前的组件,现在停更了的:√ 的表示新的替 ...
- IIFE中的函数是函数表达式,而不是函数声明
下面的代码打印什么内容,为什么? var b = 10; (function b(){ b = 20; console.log(b); })(); 针对这题,在知乎上看到别人的回答说: 函数表达式与函 ...