你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
[复制链接]
Okayan
提问时间:2011-10-10 16:53 /
新手求助、用库函数操作GPIO,按键按下LED灯亮、再按下LED灯灭,如此反复,用库函数能实现吗?
赞
0
收藏
0
评论
9
分享
发布时间:2011-10-10 16:53
举报
请先
登录
后回复
9个回答
废鱼
回答时间:2011-10-10 17:23:13
a0a.1 0b0c
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
能。可以直接对PIN引脚操作。详细情况参见:
void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
赞
0
评论
回复
支持
反对
Okayan
回答时间:2011-10-10 23:10:12
a0a.1 0b0c
回复:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
回复第 2 楼 于2011-10-10 09:23:13发表:
能。可以直接对PIN引脚操作。详细情况参见:
void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pi
GPIO_SetBits、GPIO_ResetBits 不能取反啊 因为我是要在每次按键按下后,灯由亮到灭或由灭到亮
赞
0
评论
回复
支持
反对
wzzhuhz
回答时间:2011-10-11 11:47:10
a0a.1 0b0c
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
if(GPIO_ReadOutputDataBit(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) == Bit_SET)
GPIO_ResetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
else
GPIO_SetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
赞
0
评论
回复
支持
反对
hui235
回答时间:2011-10-11 12:25:34
a0a.1 0b0c
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
一般read GPIO的状态时要设置成input模式,,否则读出来的不一定准。所以最好是用一个变量记录GPIO的状态,根据次变量去改变状态。。
赞
0
评论
回复
支持
反对
Okayan
回答时间:2011-10-11 14:32:09
a0a.1 0b0c
回复:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
回复第 4 楼 于2011-10-11 03:47:10发表:
if(GPIO_ReadOutputDataBit(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) == Bit_SET)
GPIO_ResetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
else
GPIO_SetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
这种方法不可以的、只在按键按下的时候会变化,那么按键松开就又还原了对吧。我要实现的是,按键每按一次,LED的状态变化一次
赞
0
评论
回复
支持
反对
Okayan
回答时间:2011-10-11 14:34:47
a0a.1 0b0c
回复:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
回复第 5 楼 于2011-10-11 04:25:34发表:
一般read GPIO的状态时要设置成input模式,,否则读出来的不一定准。所以最好是用一个变量记录GPIO的状态,根据次变量去改变状态。。
那是不是用库函数操作的时候,无法做到直接取反?
赞
0
评论
回复
支持
反对
废鱼
回答时间:2011-10-11 14:43:17
a0a.1 0b0c
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
可以,通过GPIO-BSRR,和BRR来控制。
赞
0
评论
回复
支持
反对
hui235
回答时间:2011-10-11 21:15:41
a0a.1 0b0c
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
最好是用变量记录LED的状态,然后再在按下时根据变量的值取反控制,。
每次按键按下的时候去读LED的状态也可以,但不一定读的准。。
赞
0
评论
回复
支持
反对
alven
回答时间:2020-2-5 19:30:14
a4a.1 0b0c
GPIO_ToggleBits(GPIOx, GPIO_Pin_x);
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
回复:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
能。可以直接对PIN引脚操作。详细情况参见:
void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pi
GPIO_SetBits、GPIO_ResetBits 不能取反啊 因为我是要在每次按键按下后,灯由亮到灭或由灭到亮
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
GPIO_ResetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
else
GPIO_SetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
回复:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
if(GPIO_ReadOutputDataBit(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) == Bit_SET)
GPIO_ResetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
else
GPIO_SetBits (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
这种方法不可以的、只在按键按下的时候会变化,那么按键松开就又还原了对吧。我要实现的是,按键每按一次,LED的状态变化一次
回复:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
一般read GPIO的状态时要设置成input模式,,否则读出来的不一定准。所以最好是用一个变量记录GPIO的状态,根据次变量去改变状态。。
那是不是用库函数操作的时候,无法做到直接取反?
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
RE:【求助】用库函数操作GPIO时,GPIO某个位的取反怎么做?
每次按键按下的时候去读LED的状态也可以,但不一定读的准。。