打印
[STM32C0]

IO口一边是ADC一边是输出,怎么自动切换不生效?

[复制链接]
356|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clyde011|  楼主 | 2025-5-10 08:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想采完模拟信号后切成输出拉高,结果电平一直不对,怎么搞?

使用特权

评论回复
沙发
Clyde011|  楼主 | 2025-5-10 08:05 | 只看该作者
你采样频率高吗?会不会还没释放IO?

使用特权

评论回复
板凳
公羊子丹| | 2025-5-10 08:06 | 只看该作者
模拟和数字IO确实不能自动切换。

使用特权

评论回复
地板
周半梅| | 2025-5-10 08:07 | 只看该作者
我一般是采完模拟就手动改成GPIO。

使用特权

评论回复
5
帛灿灿| | 2025-5-10 08:07 | 只看该作者
GPIO模式你设成了输出推挽吗?

使用特权

评论回复
6
童雨竹| | 2025-5-10 08:08 | 只看该作者
C0系列IO复用比较有限,注意Pin配置。

使用特权

评论回复
7
万图| | 2025-5-10 08:09 | 只看该作者
用CubeMX检查下Pin配置。

使用特权

评论回复
8
Wordsworth| | 2025-5-10 08:10 | 只看该作者
我这边是用两个引脚分别搞的。

使用特权

评论回复
9
Bblythe| | 2025-5-10 08:10 | 只看该作者
IO方向切换需要一点延时。

使用特权

评论回复
10
Pulitzer| | 2025-5-10 08:11 | 只看该作者
看看是不是ADC占用了复用功能?

使用特权

评论回复
11
Uriah| | 2025-5-10 08:12 | 只看该作者
尝试手动写寄存器控制模式切换。

使用特权

评论回复
12
qintian0303| | 2025-5-10 10:44 | 只看该作者
采集完之后就要对引脚进行重新的初始化应该就可以吧

使用特权

评论回复
13
失物招領| | 2025-6-14 12:22 | 只看该作者
在STM32C0中,若IO口同时配置为ADC输入和普通输出(如GPIO输出),需通过动态切换引脚模式来实现功能切换。若自动切换不生效,可能是配置顺序、时序控制或硬件状态未正确处理导致

使用特权

评论回复
14
温室雏菊| | 2025-6-14 13:00 | 只看该作者
STM32的引脚模式切换需在特定条件下完成。例如,ADC采样期间引脚必须保持模拟输入模式,若在采样过程中切换为输出模式,会导致数据错误或硬件冲突

使用特权

评论回复
15
捧一束彼岸花| | 2025-6-14 13:30 | 只看该作者
若未正确同步切换时序(如未等待ADC转换完成或未禁用输出驱动),可能引发冲突

使用特权

评论回复
16
白马过平川| | 2025-6-14 14:00 | 只看该作者
在切换为ADC模式前,需确保GPIO的输出驱动已禁用(如通过GPIO_InitStruct.Mode = GPIO_MODE_ANALOG),否则残留的输出信号可能干扰ADC采样

使用特权

评论回复
17
故意相遇| | 2025-6-14 15:00 | 只看该作者
若使用中断或DMA触发ADC采样,需确保在切换模式时禁用相关中断或DMA请求,避免数据冲突

使用特权

评论回复
18
将爱藏于深海| | 2025-6-14 17:00 | 只看该作者
若引脚复用为其他外设(如定时器PWM输出),需在切换为ADC模式前禁用这些外设,否则可能引发冲突

使用特权

评论回复
19
西洲| | 2025-6-14 19:00 | 只看该作者
通过标志位或状态机控制切换逻辑,确保在ADC采样完成后再切换模式

使用特权

评论回复
20
风凉| | 2025-6-14 22:00 | 只看该作者
确保外部电路(如传感器、负载)不会在切换模式时引入干扰。例如,ADC输入端需避免高阻抗或浮空状态

使用特权

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

本版积分规则

96

主题

4867

帖子

0

粉丝