OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4991|回复: 7

[XILINX] 关于按键控制蜂鸣器的例程中的逻辑表达式的运算方式

[复制链接]

18

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2022-10-7
在线时间
70 小时
发表于 2022-10-8 22:13:04 | 显示全部楼层 |阅读模式
1金钱

代码逻辑

代码逻辑
这是我的代码逻辑

仿真波形

仿真波形
为什么key_value = 1,key_flag=0 时beep状态不会一直改变,只有当key_value = 0,key_flag=1的时候会改变一次?上面的&&不是1&0或者0&1都等与0吗,0&0不也等于0吗   为什么两者为0时会进入beep维持状态的判断语句?
这是按键控制蜂鸣器的例程

最佳答案

查看完整内容[请看2#楼]

上面的判断语句是逻辑与,当key_flag=1的同时,key_value = 0,即可满足条件
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2013

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5618
金钱
5618
注册时间
2018-10-21
在线时间
1591 小时
发表于 2022-10-8 22:13:05 | 显示全部楼层
上面的判断语句是逻辑与,当key_flag=1的同时,key_value = 0,即可满足条件
回复

使用道具 举报

18

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2022-10-7
在线时间
70 小时
 楼主| 发表于 2022-10-9 12:47:26 | 显示全部楼层
QinQZ 发表于 2022-10-9 09:40
上面的判断语句是逻辑与,当key_flag=1的同时,key_value = 0,即可满足条件

你好,但我key_value =1,key_flag=0时不也满足条件吗,为什么不触发beep状态反转呢?两者为0时相与不也是0吗,为什么进入的是维持beep状态的语句呢
回复

使用道具 举报

3

主题

2013

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5618
金钱
5618
注册时间
2018-10-21
在线时间
1591 小时
发表于 2022-10-9 13:49:19 | 显示全部楼层
Sue43 发表于 2022-10-9 12:47
你好,但我key_value =1,key_flag=0时不也满足条件吗,为什么不触发beep状态反转呢?两者为0时相与不也 ...

没太明白你的意思,你这段代码就是,key_flag=1且key_value=0会执行beep翻转,满足几个时钟周期就执行几次,不满足的话beep就保持不变
回复

使用道具 举报

18

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2022-10-7
在线时间
70 小时
 楼主| 发表于 2022-10-9 16:51:21 | 显示全部楼层
QinQZ 发表于 2022-10-9 13:49
没太明白你的意思,你这段代码就是,key_flag=1且key_value=0会执行beep翻转,满足几个时钟周期就执行几 ...

我的意思是1 && 0 和 0 && 1不都是等于 0 吗,为什么只有1 && 0 才满足呢, 还是说verilog的语法规则不同?
回复

使用道具 举报

18

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2022-10-7
在线时间
70 小时
 楼主| 发表于 2022-10-9 17:03:32 | 显示全部楼层
QinQZ 发表于 2022-10-9 13:49
没太明白你的意思,你这段代码就是,key_flag=1且key_value=0会执行beep翻转,满足几个时钟周期就执行几 ...

没事了我代码写错了= =
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2022-10-26
在线时间
0 小时
发表于 2022-10-30 20:22:53 | 显示全部楼层
我在这里写的是key_value=0,代码去除了key_flag,为什么出不来效果呢?
回复

使用道具 举报

3

主题

2013

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5618
金钱
5618
注册时间
2018-10-21
在线时间
1591 小时
发表于 2022-10-31 09:17:48 | 显示全部楼层
yiweiyihangB31 发表于 2022-10-30 20:22
我在这里写的是key_value=0,代码去除了key_flag,为什么出不来效果呢?

判断条件写key_value=0,去除key_flag,这样按键按下每个周期都会进行取反,理论上的效果应该是按下按键有时行,有时不行
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 09:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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