你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
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的状态也可以,但不一定读的准。。