由于底层所给函数发送与接收都采用中断,所用库函数比较复杂 ,有些更改涉及底层函数,因此结合网上论坛 、百度文库调试了串口中断接收程序。通过串口调试助手发送数据 ,以“发送新行”结束 。 硬件外设波特兰: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 中断的更多相关文章

  1. stm32 uart 中断 蜜汁bug

    在项目中,使用stm32f103,配置uart1接收RXNE中断,使用DMA来进行UART1的发送. 初始化代码如下: void uart_init(u32 bound) { GPIO_InitTyp ...

  2. 基于ZYNQ 的UART中断实验之串口写数据到DDR3中

    1.参考 UG585 网络笔记 2.理论知识 参见上一次实验:基于ZYNQ 的UART中断实验 3.实验目的 练习使用UART的中断实验,并将接收到的数据写入到DDR3中. 4.实验过程 建立工程,设 ...

  3. ARM异常---一个Uart中断的触发处理过程:

    首先给出一些定义: //2440addr.inc INTOFFSET EQU 0x4a000014 ;Interruot request source offset //option.inc _ISR ...

  4. STM32F072从零配置工程-基于HAL库的串口UART中断配置

    先上一个采用串口直接传输的Demo: 此处的思路是完全采用HAL库来实现的,核心是运用HAL_UART_Transmit_IT和HAL_UART_Receive_IT两个函数来实现的,可以作为一个De ...

  5. 基于zynq 7020的串口UART中断实验

    1.参考 UG585,P1790[JokerのZYNQ7020]UART学会Zynq(27)UART中断驱动模式示例 2.理论知识 在ZYNQ的中断中有一个IOP的中断集,它包几个外设的中断,其中包含 ...

  6. Zynq-7000 FreeRTOS(二)中断:串口Uart中断

    总结Zynq-7000器件的PS上的串口中断,为FreeRTOS中断实验做准备.

  7. STM3的Uart中断接受数据和非中断接受数据!

    //非中断方式接受数据if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET) //接收数据寄存器非空标志位{ str = USART_Recei ...

  8. 基于STM8的UART发送和中断接收---STM8-第二章

    1. 综述 UART的基础知识,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器. 做软件开发的人都 ...

  9. 什么是UART中的FIFO

    FIFO是先进先出缓冲区的意思,即串口接收到的数据可以先进入FIFO,不必马上进入中断服务程序接收,这样可以节省CPU时间.对于发送数据也一样可以把要发送的数据一起写入FIFO,串口控制器按照写入的顺 ...

随机推荐

  1. CentOS7 安装rz和sz命令,安装netstat

    yum install lrzsz CentOS7 安装netstat命令 yum install net-tools

  2. (私人收藏)Linux命令大全(修正版)

    Linux命令大全(修正版) https://pan.baidu.com/s/1tPTv1PzCelBC_Eq-ASAOBg1yp3 文件传输 bye ftp ftpcount ftpshut ftp ...

  3. 功能+自动化测试代码扫描(demo)

    Jacoco 是一个开源的覆盖率工具.Jacoco 可以嵌入到 Ant .Maven 中,并提供了 EclEmma Eclipse 插件,也可以使用 Java Agent 技术监控 Java 程序.很 ...

  4. 「疫期集训day5」火焰

    我们就像一把穿刺敌人的利刃,把敌人开肠破肚----凡尔登高地前气势汹汹的德军 今天没有考试,挺好,有时间自己做题了 今天主要复习+学习了数据结构,列了个表: 已完成:单调队列,线段树,set/vect ...

  5. day54 作业

    编写代码,将当前日期按"2017-12-27 11:11 星期三"格式输出(提示:switch结构) var date = new Date() ymd = data.toLoca ...

  6. 技术干货丨通过wrap malloc定位C/C++的内存泄漏问题

    摘要:用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰.本文提供一种通过wrap malloc查找memory leak的思路. 用C/C++开发的程序执行效率很高,但却经常受到内存泄漏 ...

  7. Scala 基础(三):Scala语言快速开发入门

    1.Scala执行流程分析 2.Scala程序开发注意事项(重点) Scala源文件以 “.scala" 为扩展名. Scala程序的执行入口是main()函数. Scala语言严格区分大小 ...

  8. java 面向对象(二):JVM内存结构

    编译完源程序以后,生成一个或多个字节码文件.我们使用JVM中的类的加载器和解释器对生成的字节码文件进行解释运行.意味着,需要将字节码文件对应的类加载到内存中,涉及到内存解析. <JVM规范> ...

  9. 数据可视化之DAX篇(六) 利用ISINSCOPE函数,轻松按层级计算占比

    https://zhuanlan.zhihu.com/p/70590683 关于占比,之前有篇文章(利用ALL和ALLSELECTED灵活计算占比)详细介绍了各种情况下占比的度量值. 经星友咨询,还有 ...

  10. AcWing 717. 简单斐波那契

    AcWing 717. 简单斐波那契 原题链接 以下数列0 1 1 2 3 5 8 13 21 -被称为斐波纳契数列. 这个数列从第3项开始,每一项都等于前两项之和. 输入一个整数N,请你输出这个序列 ...