lclbf
发表于 2023-2-24 09:54:28
电子DIY小家 发表于 2023-2-22 17:32
嗯恩,有这个求知的心看起来非常适合学习,这几步剪视频的时候好像不小心删掉了,在论坛里其实 ...
老师:你蜂鸣器那节视频的例子好像有BUG,没有开机的时候,模式却换应该不起作用。安装你的方法,没有开机的时候模式切换有效,我反复看了你视频,你没有在关键是状态下去却换模式。我把你的程序修改后下载到我的板上也是一样。我没有实验箱,你能在你的实验箱验证一下吗?
lclbf
发表于 2023-2-24 11:41:27
本帖最后由 lclbf 于 2023-2-24 11:44 编辑
电子DIY小家 发表于 2023-2-22 17:09
老师,帮我看看我上面第8个程序哪里,是不是按下按下去,时间间隔不够的原因,所以要加延时。
电子DIY小家
发表于 2023-2-24 13:20:58
lclbf 发表于 2023-2-24 11:41
老师,帮我看看我上面第8个程序哪里,是不是按下按下去,时间间隔不够的原因,所以要加延时。
看了下你的代码,这个和延时不延时没关系呀,中间的那行while是等待按钮松开的,如果框起来的代码放在while之前,那就是按下就会执行,如果放在后面就是按钮松开之后才执行。我试了没问题呀,不需要加延时
lclbf
发表于 2023-2-24 14:23:51
电子DIY小家 发表于 2023-2-24 13:20
看了下你的代码,这个和延时不延时没关系呀,中间的那行while是等待按钮松开的,如果框起来的代码放在 ...
晚上我再试试
lclbf
发表于 2023-2-25 08:00:06
电子DIY小家 发表于 2023-2-24 13:20
看了下你的代码,这个和延时不延时没关系呀,中间的那行while是等待按钮松开的,如果框起来的代码放在 ...
老师好!我反复测试了,和你的代码一样,我的下载程序后就是按下按键没有反应,我说那个地方要加个延时才工作正常。麻烦你下载我那个工程文件,在你开发箱上面再试试,理论上硬件没有错呀,我用的屠龙刀,降龙棍都一样。
电子DIY小家
发表于 2023-2-25 13:44:16
lclbf 发表于 2023-2-25 08:00
老师好!我反复测试了,和你的代码一样,我的下载程序后就是按下按键没有反应,我说那个地方要加个延时才 ...
attach://4685.mp4
见视频,用的就是我昨天截图的代码,按键里面等待松开部分没有延时函数。我用了个屠龙刀的板子测试,代码下载进去之后:
1.按键按下和松开观察串口助手是否有提示,按下和松开都能提示(见视频有)
2.观察板子上LED灯是否有变化。
当然了,建议的话整一个变量,LED端口直接调用这个变量输出,直接LED = DAT;去输出。每次操作的话就操作DAT这个变量,这样就不需要再读P2端口了。
lclbf
发表于 2023-2-25 13:59:27
电子DIY小家 发表于 2023-2-25 13:44
见视频,用的就是我昨天截图的代码,按键里面等待松开部分没有延时函数。我用了个屠龙刀的板子测试, ...
谢谢,我再找找是啥原因。我的串口打印,按键按下也有对应输出,说明我按键按下是有效的。就是输出口没有反应,在我说哪里加个延时就可以了。我现在没有权限上传视频。
lclbf
发表于 2023-3-28 12:02:42
本帖最后由 lclbf 于 2023-3-28 12:03 编辑
我静态数码管练习的程序,发现数码管不能显示0,显示到1又变成9了。
// 减法循环
P2 = SegLED ; //用数组来实现显示
if(Num > 0)
{
Num--; //循环数自减
if(Num <= 0) //为什么减法最低不能到0?
//也就是说不显示0,最小显示1又变成9 了
{
Num = 9;
}
}
delay_ms(500); //延时500ms
老师我这是啥原因?
电子DIY小家
发表于 2023-3-28 13:14:23
lclbf 发表于 2023-3-28 12:02
我静态数码管练习的程序,发现数码管不能显示0,显示到1又变成9了。
// 减法循环
P2 = SegLED
lclbf
发表于 2023-3-29 08:12:37
电子DIY小家 发表于 2023-3-28 13:14
我把if(Num>0) 修改成 if(Num>=0)也试过,也不能到0。