stm32f030超时定时器+Dma的配置

经常我们会用到空闲中断IDLE,但是空闲中断默认一个BIT接收不到就是超时,而在超时中断中,超时时间是可以自己设定的, 

 超时时间根据波特率以及超时规定的字节个数来确定。此处的超时时间是 40 * (1/19200).

#define USART_ReceiverTimeOut 40

void DMA_Configuration(void)
{
    DMA_InitTypeDef DMA_InitStructure;
    
  /* DMA1 Channe3 (triggered by UART1 Rx event) Config */
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);  //启动DMA时钟
    DMA_DeInit(DMA1_Channel3);  //DMA1通道3配置
   
    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(&USART1->RDR);          //外设地址  
    DMA_InitStructure.DMA_MemoryBaseAddr     = (uint32_t)RecvBuf;   //内存地址    
    DMA_InitStructure.DMA_DIR                = DMA_DIR_PeripheralSRC;       //DMA传输方向单向:SRC 外设到内存 DST内存到外设
    DMA_InitStructure.DMA_BufferSize         = MODBUS_BUF_LEN;      //设置DMA在传输时缓冲区的长度
    DMA_InitStructure.DMA_PeripheralInc      = DMA_PeripheralInc_Disable;   //设置DMA的外设递增模式,一个外设   
    DMA_InitStructure.DMA_MemoryInc   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值