博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32空闲中断
阅读量:5273 次
发布时间:2019-06-14

本文共 769 字,大约阅读时间需要 2 分钟。

收发共存的思路没有经过验证!!!

空闲中断:既可以用来作为不定长接收数据帧的断帧判断/特别是DMA数据的接收,也可以用来指示中断发送的结束。

在需要发送的地方USART_ITConfig(UART5, USART_IT_IDLE, ENABLE);

在接收的中间USART_ITConfig(UART5, USART_IT_IDLE, ENABLE);

在空闲中断里面分清是发送结束还是接收结束

void UART5_IRQHandler(void)

{

  if(USART_GetITStatus(UART5,USART_IT_TC))

  {

  }

  if(USART_GetITStatus(UART5,USART_IT_RXNE))

  {

  }

  if(USART_GetITStatus(UART5,USART_IT_IDLE))/*空闲中断*/

  {
          status = UART5->SR;
          status = UART5->DR;/*清标志*/       
         for(i=0;i<PrintDMA.Prtsize;i++)/*数据缓存*/
        {            
              Rbuff[i] = *(PrintDMA.pPrt+i);
        }  

   PrintDMA.pPrt = NULL;/*接收数据指针和长度归零*/

        PrintDMA.Prtsize =0;
        Flag_PrtFinished =TRUE;   
        USART_ITConfig(UART5,USART_IT_RXNE, DISABLE); //
        USART_ITConfig(UART5, USART_IT_IDLE, DISABLE); //

  }

}

转载于:https://www.cnblogs.com/jieruishu/p/6525206.html

你可能感兴趣的文章
linux时区修定转
查看>>
关系数据库常用SQL语句语法大全
查看>>
JZOJ 4.8 2433——最短路上的统计【最短路】
查看>>
[枚举]Luogu P1268 树的重量
查看>>
[概率][dp] Jzoj P3386 守卫者的挑战
查看>>
[拉格朗日插值法][dp] Luogu P4463 calc
查看>>
MySQL表级约束和列级约束
查看>>
asp.net mvc HTTP发送接收数据
查看>>
js,jQuery获取div高度
查看>>
Android 学习笔记(7)——ScrollView(竖直滚动条)/HorizontalScrollView(水平滚动条)...
查看>>
php 之$_SERVER
查看>>
UIScrollView简略了解
查看>>
python标准日志模块logging及日志系统设计
查看>>
Python之系统交互(subprocess)
查看>>
蛋疼的wamp同一局域网内访问
查看>>
Linux文件类型与扩展名
查看>>
mybatis Mapper XML 文件
查看>>
Gerrit代码Review入门实战
查看>>
【转】5个常用Java 代码混淆器 助你保护你的代码
查看>>
二、DBMS_JOB(用于安排和管理作业队列)
查看>>