[STM32F1] GPIO

[复制链接]
859|17
 楼主| tian111 发表于 2021-5-5 18:04 | 显示全部楼层 |阅读模式

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

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

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

我看好多设置IO脚初始化完后默认就是低电平,为什么我的不是?
wenfen 发表于 2021-5-5 18:06 | 显示全部楼层
还有什么现象?能再详细描述下吗?
 楼主| tian111 发表于 2021-5-5 18:09 | 显示全部楼层

我把这个引脚直接接电阻再接个LED,再接地,默认就是亮的.
除非初始化完以后,我程序置低.
chenho 发表于 2021-5-5 18:11 | 显示全部楼层
首先,这个语句是把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)
zwll 发表于 2021-5-5 18:13 | 显示全部楼层
参考楼上意见,并接个下拉电阻看看;
 楼主| tian111 发表于 2021-5-5 18:15 | 显示全部楼层

我去,问了一帮人,都没回到点子啊,唉,
新手就是新手,
高人就是高人,
经过你一点拨,搞定,终于知道这个参数是什么意思了,
谢谢!,谢谢!!!!
GPIO_MODE_OUT_PP_LOW_SLOW
GPIO_MODE_OUT_PP_HIGH_SLOW
chuxh 发表于 2021-5-5 18:17 | 显示全部楼层
可以使用上拉电阻或者下拉电阻。
juventus9554 发表于 2021-5-5 18:19 | 显示全部楼层
可以使用三极管进行反向。
pangb 发表于 2021-5-5 18:25 | 显示全部楼层

对啊对啊
我就是不知道怎么改那个 cyusb.inf 求助啊
stly 发表于 2021-5-5 18:26 | 显示全部楼层
初始化完成电平不确定。
dingy 发表于 2021-5-5 18:28 | 显示全部楼层
电平信号不确定而已。
pengf 发表于 2021-5-5 18:32 | 显示全部楼层
以前驱动继电器都是有驱动电路,没有碰上这个问题过。
 楼主| tian111 发表于 2021-5-5 18:36 | 显示全部楼层
嗯,我再好好缕一缕吧,有了好消息及时通知大家
paotangsan 发表于 2021-6-1 14:14 | 显示全部楼层
确认驱动能力够吗
heimaojingzhang 发表于 2021-6-1 16:02 | 显示全部楼层
如果不配置默认的是什么
keaibukelian 发表于 2021-6-1 16:03 | 显示全部楼层
如果带载能力不够 会不会复位呢
labasi 发表于 2021-6-1 16:56 | 显示全部楼层
外部是如何连接的呢
renzheshengui 发表于 2021-6-1 17:08 | 显示全部楼层
很有可能外部拉低了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

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