硬汉嵌入式论坛

 找回密码
 立即注册
查看: 745|回复: 6
收起左侧

[UART] H7B0串口1DMA方式求助???

[复制链接]

4

主题

17

回帖

29

积分

新手上路

积分
29
发表于 2023-3-10 14:03:13 | 显示全部楼层 |阅读模式
H7B0串口1DMA方式求助???DMA中断收不到数据??????



        MPU_InitStruct.Enable           = MPU_REGION_ENABLE;
        MPU_InitStruct.BaseAddress      = 0x24000000;
        MPU_InitStruct.Size             = MPU_REGION_SIZE_512KB;
        MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
//        MPU_InitStruct.IsBufferable     = MPU_ACCESS_NOT_BUFFERABLE;
        MPU_InitStruct.IsBufferable     = MPU_ACCESS_BUFFERABLE;
        MPU_InitStruct.IsCacheable      = MPU_ACCESS_CACHEABLE;
        MPU_InitStruct.IsShareable      = MPU_ACCESS_NOT_SHAREABLE;
        MPU_InitStruct.Number           = MPU_REGION_NUMBER0;
        MPU_InitStruct.TypeExtField     = MPU_TEX_LEVEL1;
        MPU_InitStruct.SubRegionDisable = 0x00;
        MPU_InitStruct.DisableExec      = MPU_INSTRUCTION_ACCESS_ENABLE;
        



  /* Enable I-Cache */
  SCB_EnableICache();
  /* Enable D-Cache */
  SCB_EnableDCache();


下载.png
ALIGN_32BYTES(__attribute__((section (".RAM_D2"))) uint8_t USART1_RX_BUF[USART1_DMA_RX_BUFFER_MAXIMUM]) = "ARM";
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-3-10 15:19:40 | 显示全部楼层
MPU/Cache问题主要影响串口数据一致性,但不影响DMA串口的正常工作,如果完全没有收到数据是不正常的。

你的DMA时钟在DMA配置之前优先级配置没。

回复

使用道具 举报

4

主题

17

回帖

29

积分

新手上路

积分
29
 楼主| 发表于 2023-3-13 20:59:28 | 显示全部楼层
eric2013 发表于 2023-3-10 15:19
MPU/Cache问题主要影响串口数据一致性,但不影响DMA串口的正常工作,如果完全没有收到数据是不正常的。

...

谢谢,DMA时钟有,cubemx配置的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2023-3-14 12:05:09 | 显示全部楼层
1021256354 发表于 2023-3-13 20:59
谢谢,DMA时钟有,cubemx配置的

接收的RAM空间整准了,看下Map文件,是不是给设置到0x2000 0000里面了。
回复

使用道具 举报

4

主题

17

回帖

29

积分

新手上路

积分
29
 楼主| 发表于 2023-3-15 13:35:58 | 显示全部楼层
eric2013 发表于 2023-3-14 12:05
接收的RAM空间整准了,看下Map文件,是不是给设置到0x2000 0000里面了。

谢谢,汉哥,找到问题了,cubemx配置的工程,DMA时钟放得位置不对,巨坑;
回复

使用道具 举报

4

主题

17

回帖

29

积分

新手上路

积分
29
 楼主| 发表于 2023-3-15 13:40:25 | 显示全部楼层

回复

使用道具 举报

10

主题

40

回帖

70

积分

初级会员

积分
70
发表于 2023-3-15 15:46:37 | 显示全部楼层
1021256354 发表于 2023-3-15 13:35
谢谢,汉哥,找到问题了,cubemx配置的工程,DMA时钟放得位置不对,巨坑;

以前我也遇到过类似的问题,是配置ADC的DMA传输,DMA的时钟开启的代码生成在了ADC初始化后面了,这个算是Cubemx的老bug了
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 14:34 , Processed in 0.190573 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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