请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 2863|回复: 4

新手关于独立按键的问题,求教

 关闭 [复制链接]

4

主题

11

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 2019-8-18 18:00:15 | 显示全部楼层 |阅读模式
void keyboard()
{
if(k2==0)
{delay(1000);}
if(k2==0) led=~led;
while(!k2);}
通过以上程序为能实现k2控制led开关呢?按一下k2之后不是已经闭合,所以标号TXD的io口一直为低电平吗,会导致led=~led不断进行; 还是说k2只有在按下的瞬间是闭合?弄不懂啊
我觉得按一下k2为0,根据程序led取反就亮了,再按一下k2为1,led应该不会关,再按第三下k2为0,led再取反,led就关了。可实际话按第二下就关了,为啥
回复

使用道具 举报

0

主题

66

帖子

246

积分

中级会员

Rank: 3Rank: 3

积分
246
发表于 2019-8-18 23:26:51 | 显示全部楼层
你的代码写错了,delay之后的if和while都要包含在第一个if(K2==)的大花括号范围里才对。
回复 支持 反对

使用道具 举报

4

主题

11

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 2019-8-19 16:22:13 | 显示全部楼层
神奇 发表于 2019-8-18 23:26
你的代码写错了,delay之后的if和while都要包含在第一个if(K2==)的大花括号范围里才对。

哦哦,我改了,但为啥我觉得按一下k2为0,根据程序led取反就亮了,再按一下k2为1,led应该不会关,再按第三下k2为0,led再取反,led就关了。可实际话按第二下就关了,为啥
回复 支持 反对

使用道具 举报

4

主题

11

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 2019-8-19 16:22:14 | 显示全部楼层
神奇 发表于 2019-8-18 23:26
你的代码写错了,delay之后的if和while都要包含在第一个if(K2==)的大花括号范围里才对。

哦哦,我改了,但为啥我觉得按一下k2为0,根据程序led取反就亮了,再按一下k2为1,led应该不会关,再按第三下k2为0,led再取反,led就关了。可实际话按第二下就关了,为啥
回复 支持 反对

使用道具 举报

2

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
发表于 2019-10-5 11:58:03 | 显示全部楼层
独立按键默认是高电平,按下去的一瞬间是低电平,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-3-28 20:44 , Processed in 0.088348 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表