OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2946|回复: 2

阿波罗H7串口DMA数据传输接收数据后的处理与F4的区别

[复制链接]

6

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
239
金钱
239
注册时间
2019-11-14
在线时间
59 小时
发表于 2020-7-9 10:04:13 | 显示全部楼层 |阅读模式
1金钱
阿波罗H7中传输完成后关闭了串口DMA,探索者F4中先下使能了DMA相应通道,又设置了传输量,然后使能DMA,这两个有什么区别?
H7中是这样操作的。
                    while(1)
                    {
                if(__HAL_DMA_GET_FLAG(&UART1TxDMA_Handler,DMA_FLAG_TCIF3_7))//μè′yDMA2_Steam7′«êäíê3é
                {
                    __HAL_DMA_CLEAR_FLAG(&UART1TxDMA_Handler,DMA_FLAG_TCIF3_7);//Çå3yDMA2_Steam7′«êäíê3é±êÖ¾
                    HAL_UART_DMAStop(&UART1_Handler);      //′«êäíê3éòÔoó1رÕ′®¿úDMA
                                        break;
                }
                                pro=__HAL_DMA_GET_COUNTER(&UART1TxDMA_Handler);//μÃμ½μ±Ç°»1ê£óà¶àéù¸öêy¾Y
                                pro=1-pro/SEND_BUF_SIZE;    //μÃμ½°ù·Ö±è          
                                pro*=100;                                  //à©′ó100±¶
                                LCD_ShowNum(30,170,pro,3,16);            
                    }
F4中调用这个函数。
void MYDMA_Enable(DMA_Stream_TypeDef *DMA_Streamx,u16 ndtr)
{

        DMA_Cmd(DMA_Streamx, DISABLE);                                                                                                      //1رÕDMA′«êä
       
        while (DMA_GetCmdStatus(DMA_Streamx) != DISABLE){}                                                                                        //è·±£DMA¿éòÔ±»éèÖà 
               
        DMA_SetCurrDataCounter(DMA_Streamx,ndtr);                                                                                                  //êy¾Y′«êäá¿  

        DMA_Cmd(DMA_Streamx, ENABLE);                                                                                                              //¿aÆôDMA′«êä
}          


最佳答案

查看完整内容[请看2#楼]

你这两个的作用都不一样,前面的是获取传输量,后面的是重启传输。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2020-7-9 10:04:14 | 显示全部楼层
你这两个的作用都不一样,前面的是获取传输量,后面的是重启传输。
回复

使用道具 举报

6

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
239
金钱
239
注册时间
2019-11-14
在线时间
59 小时
 楼主| 发表于 2020-7-10 08:02:51 | 显示全部楼层
正点原子 发表于 2020-7-9 10:04
你这两个的作用都不一样,前面的是获取传输量,后面的是重启传输。

怎样才能在H7上用f4的这种传输方式?重启这种方式貌似有数据丢失。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-1 03:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表