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

[复制链接]
1307|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 | 显示全部楼层
probedog 发表于 2024-8-27 11:02 | 显示全部楼层
如果不初始化,通常不建议直接操作STM32的IO口使用
laocuo1142 发表于 2024-8-27 11:03 | 显示全部楼层
未初始化的IO口可能不具备所需的电气特性,例如驱动能力、电平转换能力等,这可能导致与外部设备的连接不稳定或无法正常工作。
flycamelaaa 发表于 2024-8-27 11:03 | 显示全部楼层
未初始化的IO口可能更容易受到外部电磁干扰和噪声的影响,从而影响系统的稳定性和可靠性。
stormwind123 发表于 2024-8-27 11:04 | 显示全部楼层
如果IO口被配置为复用功能(如I2C、SPI等),但未进行初始化,那么这些外设可能无法正常工作或产生不可预测的行为。
probedog 发表于 2024-8-27 11:04 | 显示全部楼层
为了确保STM32的IO口能够按照预期工作,建议在使用前对其进行初始化配置。
Clyde011 发表于 2025-3-18 08:23 | 显示全部楼层
试试 GPIOA->BSRR = (1 << 5); 直接设置 PA5 高电平,看看 LED 亮不亮,或许能满足你的好奇心。
公羊子丹 发表于 2025-3-18 08:24 | 显示全部楼层
STM32G0 的 GPIO 默认是复用功能,很多引脚上电后不是普通 GPIO,需要手动配置模式才能正常使用。
周半梅 发表于 2025-3-18 08:25 | 显示全部楼层
你可以试试直接操作 GPIOx_ODR,看看能不能控制输出,不过如果引脚是默认复用状态,可能不会有预期的效果。
帛灿灿 发表于 2025-3-18 08:27 | 显示全部楼层
STM32G0 的时钟默认是 HSI16,但 GPIO 需要 RCC 使能才能工作,你不配置 RCC,GPIO 可能不会响应。
童雨竹 发表于 2025-3-18 08:28 | 显示全部楼层
51 单片机的 GPIO 上电默认是推挽输出,而 STM32 的默认状态可能是浮空输入,直接操作可能不会有预期结果。
万图 发表于 2025-3-18 08:29 | 显示全部楼层
你可以用调试器看看 GPIOx_MODER 的默认值,确认 IO 复位后的模式,然后尝试直接操作 ODR 或 BSRR。
Bblythe 发表于 2025-3-18 08:31 | 显示全部楼层
STM32 需要先打开 GPIO 时钟,否则即使 ODR 被写入,可能不会真正影响 IO 状态。
Wordsworth 发表于 2025-3-18 08:33 | 显示全部楼层
有些引脚复位后默认是模拟模式(比如 ADC),如果不配置成数字模式,可能无法正常读取和输出。
Pulitzer 发表于 2025-3-18 08:35 | 显示全部楼层
你可以试试看 GPIOx->MODER = 0x55555555; 直接修改寄存器,看看 IO 能不能直接使用。
Uriah 发表于 2025-3-18 08:37 | 显示全部楼层
在低功耗模式下,GPIO 可能被禁用,不初始化可能导致 IO 没有反应,特别是 Standby 和 Stop 模式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

1882

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部