码迷,mamicode.com
首页 > 其他好文 > 详细

GUN485项目的总结

时间:2016-05-14 18:52:09      阅读:233      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!