立即注册
查看: 799|回复: 1

[问题] i.mx RT1061 UART+eDMA中断问题。

已绑定手机
发表于 2021-9-13 15:43:49 | 显示全部楼层 |阅读模式 来自 四川省成都市
大家好,我目前在用RT1061芯片,用空闲中断+DMA的方式来接收不定长数据,使用MCUXpressoconfig tool工具来做外设配置(只做了UART和DMA的设置,时钟没操作过)。基本操作就是IO\CLK\MPU\外设\DMA等初始化后,接着开启空闲中断:LPUART_EnableInterrupts(LPUART3,kLPUART_IdleLineInterruptEnable);EnableIRQ(LPUART3_IRQn);然后就是等待接收LPUART_ReceiveEDMA(LPUART3_PERIPHERAL,&LPUART3_LPUART_eDMA_Handle, &receiveXfer);。在中断服务函数LPUART3_IRQHandler中就是先清除空闲中断flag,关闭DMA,接收数据,然后把数据通过串口发送回来。
最开始我是用uart3做接收,uart1做发送,这样的调试是没问题的。但是当我用uart3接收后,再用uart3发送回来就出现了问题,只能成功一次,调试发现,用DMA的发送函数LPUART_SendEDMA(LPUART3_PERIPHERAL,&LPUART3_LPUART_eDMA_Handle, &sendXfer)后,会自动调用回调函数,会进入中断服务函数。规格书上说的1,重新发送数据,2,关闭TE发送功能,3,进入中段读取STAT,这个我不知道怎么操作。我也尝试发送之前先disable中断,发完再打开,也不行。
有大神知道怎么清除这个TC中断么
我知道答案 回答被采纳将会获得5 RD币 已有1人回答
已绑定手机
 楼主| 发表于 2021-9-15 10:32:00 | 显示全部楼层 来自 四川省成都市
没什么人用这个片子哇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表