SPI串口DMA接受不定长数据

SPI串口DMA接受不定长数据,数据发送在总线空闲时产生中断,总线空闲指的是TC标志为高电平,而不是只发送信号每发送完一帧数据后的高电位
在这里插入图片描述
if(USART_GetITStatus(USART1, USART_IT_IDLE) !=RESET)
{
USART_ClearFlag(USART1,USART_IT_IDLE);
temp = USART1->SR;
temp = USART1->DR; //清USART_IT_IDLE标志
DMA_Cmd(DMA1_Channel5,DISABLE);
DMA_Cmd(DMA1_Channel5,DISABLE);
temp = UART_RX_LEN -DMA_GetCurrDataCounter(DMA1_Channel5);

for (i = 0;i < temp;i++)

          {
                 Data_Receive_Usart= Uart_Rx[i];
               //启动串口状态
                 usart_state_run();

          }
         //设置传输数据长度
          DMA_SetCurrDataCounter(DMA1_Channel5,UART_RX_LEN);
          DMA_Cmd(DMA1_Channel5,ENABLE);

}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值