你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】stm32f7xx通过DMA发送数据到串口例程

[复制链接]
STMCU小助手 发布时间:2021-12-17 12:04
串口使用usart2
dma使用dma1-stream6-channel4
使用hal库函数
  1. DMA_Init(DMA1_Stream6,DMA_CHANNEL_4);
  2. HAL_UART_Transmit_DMA(&UART2_Handler,page,num);
  3.     while(1)
  4.     {
  5.         if(__HAL_DMA_GET_FLAG(&UART2TxDMA_Handler,DMA_FLAG_TCIF2_6))//判断传输完成
  6.             {
  7.                     __HAL_DMA_CLEAR_FLAG(&UART2TxDMA_Handler,DMA_FLAG_TCIF2_6);//清除标志位
  8.                     HAL_UART_DMAStop(&UART2_Handler);      //关闭dma
  9.             break;
  10.             }
  11.         pos=__HAL_DMA_GET_COUNTER(&UART1TxDMA_Handler);//传输进度
  12.         printf("pos:%d\n",pos);
  13.     }



  14. void DMA_Init(DMA_Stream_TypeDef *DMA_Streamx,u32 chx)
  15. {
  16.         
  17.     __HAL_RCC_DMA1_CLK_ENABLE();
  18.     __HAL_LINKDMA(&UART2_Handler,hdmatx,UART2TxDMA_Handler);   

  19.     UART2TxDMA_Handler.Instance=DMA_Streamx;                           
  20.     UART2TxDMA_Handler.Init.Channel=chx;                                
  21.     UART2TxDMA_Handler.Init.Direction=DMA_MEMORY_TO_PERIPH;            
  22.     UART2TxDMA_Handler.Init.PeriphInc=DMA_PINC_DISABLE;                 
  23.     UART2TxDMA_Handler.Init.MemInc=DMA_MINC_ENABLE;                     
  24.     UART2TxDMA_Handler.Init.PeriphDataAlignment=DMA_PDATAALIGN_BYTE;   
  25.     UART2TxDMA_Handler.Init.MemDataAlignment=DMA_MDATAALIGN_BYTE;      
  26.     UART2TxDMA_Handler.Init.Mode=DMA_NORMAL;                           
  27.     UART2TxDMA_Handler.Init.Priority=DMA_PRIORITY_MEDIUM;               
  28.     UART2TxDMA_Handler.Init.FIFOMode=DMA_FIFOMODE_DISABLE;              
  29.     UART2TxDMA_Handler.Init.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL;      
  30.     UART2TxDMA_Handler.Init.MemBurst=DMA_MBURST_SINGLE;                 
  31.     UART2TxDMA_Handler.Init.PeriphBurst=DMA_PBURST_SINGLE;            

  32.     HAL_DMA_DeInit(&UART2TxDMA_Handler);   
  33.     HAL_DMA_Init(&UART2TxDMA_Handler);
  34. }

复制代码


收藏 评论0 发布时间:2021-12-17 12:04

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版