硬汉嵌入式论坛

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

[STM32H7] 配置STM32H7的任何外设前,务必优先初始化时钟再配置,否则很容易导致配置识别

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
发表于 2019-7-5 10:44:22 | 显示全部楼层 |阅读模式
比如之前发过的一个帖子:

使用DMA1,务必优先调用函数使能DMA1的时钟
__HAL_RCC_DMA1_CLK_ENABLE();

然后才可以调用函数做DMA的基本参数配置:
if (HAL_DMA_Init(&hdma_dcmi) != HAL_OK)
{
        Error_Handler(__FILE__, __LINE__);
}

测试发现好些外设都有这个问题。
回复

使用道具 举报

23

主题

1444

回帖

1513

积分

至尊会员

积分
1513
发表于 2019-7-5 11:27:50 | 显示全部楼层
正常情况下,必须要初始化时钟再使用。
代码不规范,亲人两行泪!
回复

使用道具 举报

5

主题

582

回帖

597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
597
发表于 2019-7-5 12:58:59 | 显示全部楼层
这不是默认操作么?不用库的话都是这样做的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
 楼主| 发表于 2019-7-5 13:40:44 | 显示全部楼层
myxiaonia 发表于 2019-7-5 12:58
这不是默认操作么?不用库的话都是这样做的

是的,平时直接复制粘贴,都习惯了,突然来这么一次,还以为没问题,结果问题出在这里了。

越是自认为没问题的地方,越容易忽视
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2024-7-25 14:50:50 | 显示全部楼层
eric2013 发表于 2019-7-5 13:40
是的,平时直接复制粘贴,都习惯了,突然来这么一次,还以为没问题,结果问题出在这里了。

越是自认为 ...

一句惊醒梦中人
回复

使用道具 举报

4

主题

1459

回帖

1471

积分

至尊会员

积分
1471
发表于 2024-7-25 16:38:58 | 显示全部楼层
  血泪史  
回复

使用道具 举报

0

主题

40

回帖

40

积分

新手上路

积分
40
发表于 2024-7-26 10:25:34 | 显示全部楼层
首先得复位时钟,释放复位,在关闭,在开启时钟,在初始化。对DMA,治疗各种不服的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117586
QQ
 楼主| 发表于 2024-7-27 07:41:19 | 显示全部楼层
a13421364618 发表于 2024-7-26 10:25
首先得复位时钟,释放复位,在关闭,在开启时钟,在初始化。对DMA,治疗各种不服的

对,Deinit和init一起使用,非常好用。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-16 13:52 , Processed in 0.042127 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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