您的位置 首页 FPGA

单片机串口处理取得的经历(stm32)

最近搞了一个stm32串口数据帧批处理代码,遇到了很多问题,作为刚工作的我,经验太缺乏,实在是需要总结一番,以避免以后再出现同样…

最近搞了一个stm32串口数据帧批处理代码,遇到了许多问题,作为刚作业的我,经历太缺少,实在是需求总结一番,以防止今后再呈现相同的过错。

大致状况罗列如下:

1、串口接纳中止处理

在校园的时分底子没有触摸过什么循环处理的办法,到现在我也讲不上来这个办法的姓名是什么,横竖自己会运用了。大致的状况是环形数组处理,代码如下:

//======================>> 接纳数据中止
if( USART_GetITStatus( COM_USARTx, USART_IT_RXNE ) != RESET )
{
if( COM_Rx_Sign == 1 )
{
COM_Cout_mS = DEF_COM_FRM_END_MS;
}
COM_Uart_RxBuf.Buf[ COM_Uart_RxBuf.WriteSize++ ] = USART_ReceiveData( COM_USARTx );
if( COM_Uart_RxBuf.WriteSize >= COM_TxRx_BUF_SIZE ) /* 循环接纳数据存储 */
{
COM_Uart_RxBuf.WriteSize = 0;
}
USART_ClearITPendingBit( COM_USARTx, USART_IT_RXNE );/* Clear the USART Receive interrupt */
}

2、发送数据处理

选用的是usart转485接口,所以在常态要将485置为承受状况,只要发送数据的时分才置为发送状况。这样说表面上看着没啥问题,可是刚开始的时分一向呈现发送数据最终一个字节丢掉,我一向不知道问题,最终仿真器在中止里边485置为承受之前设置了一个断点

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/268192.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部