打印
[STM8]

GPIO

[复制链接]
532|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tian111|  楼主 | 2019-6-15 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


STM8S103F3P6  IO口 D4 , 我现在要用一个引脚驱动继电器,高电平有效.
GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_OUT_PP_HIGH_SLOW);

我程序现在是可以正常操作这个引脚的,可是我发现,设备一上电,一执行初始化这个语句,
这个引脚默认就是高电平.我的继电器就会动作,虽然我可以在之后把它设成低电平, 但是刚上电还是会跳一些

有没有一设置就是默认低电平啊,

我看好多设置IO脚初始化完后默认就是低电平,为什么我的不是?

使用特权

评论回复
沙发
wenfen| | 2019-6-15 15:56 | 只看该作者

还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
tian111|  楼主 | 2019-6-15 16:04 | 只看该作者

我把这个引脚直接接电阻再接个LED,再接地,默认就是亮的.
除非初始化完以后,我程序置低.

使用特权

评论回复
地板
chenho| | 2019-6-15 16:08 | 只看该作者
首先,这个语句是把PD4这个IO口设置为推挽输出,同时输出高电平。
你需要把这句初始化换为GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_OUT_PP_LOW_SLOW);即可。这样就是输出低电平了。
到你需要驱动的时候,再设置为高即可。用这个GPIO_WriteHigh(GPIOD, GPIO_PIN_4);
关闭:GPIO_WriteLow(GPIOD, GPIO_PIN_4)

使用特权

评论回复
5
zwll| | 2019-6-15 16:11 | 只看该作者
参考楼上意见,并接个下拉电阻看看;

使用特权

评论回复
6
tian111|  楼主 | 2019-6-15 16:14 | 只看该作者

我去,问了一帮人,都没回到点子啊,唉,
新手就是新手,
高人就是高人,
经过你一点拨,搞定,终于知道这个参数是什么意思了,
谢谢!,谢谢!!!!
GPIO_MODE_OUT_PP_LOW_SLOW
GPIO_MODE_OUT_PP_HIGH_SLOW

使用特权

评论回复
7
chuxh| | 2019-6-15 16:18 | 只看该作者
可以使用上拉电阻或者下拉电阻。

使用特权

评论回复
8
juventus9554| | 2019-6-15 16:22 | 只看该作者

可以使用三极管进行反向。

使用特权

评论回复
9
pangb| | 2019-6-15 16:23 | 只看该作者

对啊对啊
我就是不知道怎么改那个 cyusb.inf 求助啊

使用特权

评论回复
10
stly| | 2019-6-15 16:25 | 只看该作者

初始化完成电平不确定。

使用特权

评论回复
11
dingy| | 2019-6-15 16:29 | 只看该作者

电平信号不确定而已。

使用特权

评论回复
12
pengf| | 2019-6-15 16:31 | 只看该作者
以前驱动继电器都是有驱动电路,没有碰上这个问题过。

使用特权

评论回复
13
tian111|  楼主 | 2019-6-15 16:33 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽

使用特权

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

本版积分规则

797

主题

8878

帖子

7

粉丝