打印
[STM32G0]

如果不初始化可以直接操作IO使用吗

[复制链接]
840|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wanduzi|  楼主 | 2024-8-26 22:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很好奇啊,所有的程序都是开始配置时钟,然后才使用IO,那么如果不配置,像51单片机那样,直接操作IO能工作吗

使用特权

评论回复
沙发
wanduzi|  楼主 | 2024-8-26 22:44 | 只看该作者
有没有人试过,会有什么不同的吗?

使用特权

评论回复
板凳
wanduzi|  楼主 | 2024-8-26 22:45 | 只看该作者
默认情况下,IO是工作的还是不工作的?

使用特权

评论回复
地板
呐咯密密| | 2024-8-27 09:14 | 只看该作者
不能

使用特权

评论回复
5
probedog| | 2024-8-27 11:02 | 只看该作者
如果不初始化,通常不建议直接操作STM32的IO口使用

使用特权

评论回复
6
laocuo1142| | 2024-8-27 11:03 | 只看该作者
未初始化的IO口可能不具备所需的电气特性,例如驱动能力、电平转换能力等,这可能导致与外部设备的连接不稳定或无法正常工作。

使用特权

评论回复
7
flycamelaaa| | 2024-8-27 11:03 | 只看该作者
未初始化的IO口可能更容易受到外部电磁干扰和噪声的影响,从而影响系统的稳定性和可靠性。

使用特权

评论回复
8
stormwind123| | 2024-8-27 11:04 | 只看该作者
如果IO口被配置为复用功能(如I2C、SPI等),但未进行初始化,那么这些外设可能无法正常工作或产生不可预测的行为。

使用特权

评论回复
9
probedog| | 2024-8-27 11:04 | 只看该作者
为了确保STM32的IO口能够按照预期工作,建议在使用前对其进行初始化配置。

使用特权

评论回复
10
Clyde011| | 2025-3-18 08:23 | 只看该作者
试试 GPIOA->BSRR = (1 << 5); 直接设置 PA5 高电平,看看 LED 亮不亮,或许能满足你的好奇心。

使用特权

评论回复
11
公羊子丹| | 2025-3-18 08:24 | 只看该作者
STM32G0 的 GPIO 默认是复用功能,很多引脚上电后不是普通 GPIO,需要手动配置模式才能正常使用。

使用特权

评论回复
12
周半梅| | 2025-3-18 08:25 | 只看该作者
你可以试试直接操作 GPIOx_ODR,看看能不能控制输出,不过如果引脚是默认复用状态,可能不会有预期的效果。

使用特权

评论回复
13
帛灿灿| | 2025-3-18 08:27 | 只看该作者
STM32G0 的时钟默认是 HSI16,但 GPIO 需要 RCC 使能才能工作,你不配置 RCC,GPIO 可能不会响应。

使用特权

评论回复
14
童雨竹| | 2025-3-18 08:28 | 只看该作者
51 单片机的 GPIO 上电默认是推挽输出,而 STM32 的默认状态可能是浮空输入,直接操作可能不会有预期结果。

使用特权

评论回复
15
万图| | 2025-3-18 08:29 | 只看该作者
你可以用调试器看看 GPIOx_MODER 的默认值,确认 IO 复位后的模式,然后尝试直接操作 ODR 或 BSRR。

使用特权

评论回复
16
Bblythe| | 2025-3-18 08:31 | 只看该作者
STM32 需要先打开 GPIO 时钟,否则即使 ODR 被写入,可能不会真正影响 IO 状态。

使用特权

评论回复
17
Wordsworth| | 2025-3-18 08:33 | 只看该作者
有些引脚复位后默认是模拟模式(比如 ADC),如果不配置成数字模式,可能无法正常读取和输出。

使用特权

评论回复
18
Pulitzer| | 2025-3-18 08:35 | 只看该作者
你可以试试看 GPIOx->MODER = 0x55555555; 直接修改寄存器,看看 IO 能不能直接使用。

使用特权

评论回复
19
Uriah| | 2025-3-18 08:37 | 只看该作者
在低功耗模式下,GPIO 可能被禁用,不初始化可能导致 IO 没有反应,特别是 Standby 和 Stop 模式。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

151

主题

1833

帖子

3

粉丝