首页 > 其他 > 详细

GUN485项目的总结

时间:2016-05-14 18:49:32      阅读:218      评论:0      收藏:0      [点我收藏+]

1、DMA中配置要放在串口的配置后面。

2、DMA有3种中断方式:传输完成、传输一半、传输错误

3、如果要用DMA容易造成串口数据还没发完就把485的控制脚拉低导致数据没发完。解决办法是DMA发送完成中断里加延时(但是中断里延时不好)。

//void DMA1_Channel4_IRQHandler()
//{
//  if(DMA_GetITStatus(DMA1_IT_TC4))	//传输完成
//  {
//    Delay(0xffff);  //容易导致串口数据未发送完成就拉低485的控制引脚,所以得延时
//    S4851_L();
//    DMA_ClearITPendingBit(DMA1_IT_TC4);
//  }
//
////  if(DMA_GetITStatus(DMA1_IT_TE4)) //传输错误
////  {
////	CurrDataCounterEnd=DMA_GetCurrDataCounter(DMA1_Channel4);
////    DMA_ClearITPendingBit(DMA1_IT_TE4);
////  }
////
////  if(DMA_GetITStatus(DMA1_IT_HT4)) //传输过半
////  {
//// 
////    DMA_ClearITPendingBit(DMA1_IT_HT4);
////  }
//}

  

GUN485项目的总结

原文:http://www.cnblogs.com/yygsj/p/5493038.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!