STM32
直播中

刘勇

7年用户 1313经验值
私信 关注
[问答]

stm8s003 swim口做IO内置上拉输入总是失败的原因?

如题,设计了一个小板子,没留够IO口,仅差一个输入信号口。
输入信号是个无源的开关量。于是考虑用swim口搞。。。还不加上拉电阻。。。
问题来了。
相关代码:
//swim口是PD1
    //禁用SWIM
    CFG->GCR=0x01;//SWD禁用 使能PD1正常IO功能


    GPIOD->ODR=0x00;
    GPIOD->CR1=0x76;//PD2/4/5/6输出 PD3悬空 PD1~6存在
    GPIOD->DDR=0x74;//PD2/4/5/6输出
    GPIOD->CR2=0x08;//PD3输入中断 输出低速

然后,就够了吗?就够了吗?就够了吗?
结果是惨淡的。。IO检测到几乎是随机的电平。。变成了悬空输入。
大家评评理,我是忘掉什么了?
还是这口就是不能做带上拉的输入?明明SWIM口PD1标注的是(HS)来着。。

回帖(1)

苗雨

2024-5-7 16:45:41
读取代码出问题。
我读了整个D口偏偏屏蔽了PD1。逻辑反了。在此自杀10分钟。。。{:10:}
于是出现如此神奇的一幕。
事实证明这口能做输入,还能自带上拉。而且禁用SWD只需要那一条代码。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分