谢谢您的回复,我还是不太明白,您说“在for循环的判断中,i先赋值为0,再判断是否小于4,加为1,1右移五位,当然第二灯亮”,请问为什么判断小于四后要加为1,第一个循环i=0啊。这是i左移4位,由00000001变成了00010000,而恰好是P2.4为高电平,带动MTA亮。
另外我认为这个程序没有消除残影,delay(10)延时是200ms,这个时间是肉眼能分辨的。流水灯也没有必要消除残影吧。
0x0f取与的思路是:将00010000(MTA亮)200ms后变成00000000(全部灯灭200ms),然后在00100000(MTB亮)200ms,后变成00000000(全部灯灭200ms),然后在01000000(MTC亮)200ms,后变成00000000(全部灯灭200ms),然后在10000000(MTD亮)200ms,后变成00000000(全部灯灭200ms),一次循环,请问为什么要与0xf0相与呢?
本人菜鸟,望指点
另外我认为这个程序没有消除残影,delay(10)延时是200ms,这个时间是肉眼能分辨的。流水灯也没有必要消除残影吧。
0x0f取与的思路是:将00010000(MTA亮)200ms后变成00000000(全部灯灭200ms),然后在00100000(MTB亮)200ms,后变成00000000(全部灯灭200ms),然后在01000000(MTC亮)200ms,后变成00000000(全部灯灭200ms),然后在10000000(MTD亮)200ms,后变成00000000(全部灯灭200ms),一次循环,请问为什么要与0xf0相与呢?
本人菜鸟,望指点
16楼
程序似乎也没啥了,暂时也没发现什么问题,200ms肉眼应该能分辨出来,这样吧,你在你的开发软件上加一个断点试一下,看一下是什么效果,查看一下数据内容!这样就能出来结果了!
回复
我要赚赏金打赏帖 |
|
|---|---|
| 28BYJ-48机械臂实现人脸跟随被打赏¥24元 | |
| 基于RK3506B的片温识读功能的实现被打赏¥25元 | |
| 【瑞萨RA8D1测评】基于FreeRTOS的lvgl移植教程被打赏¥29元 | |
| 电子价签墨水屏开发被打赏¥35元 | |
| 【Ozone】RTT 打印终端使用被打赏¥29元 | |
| BMS保护板绝缘检测功能-不平衡电桥技术绝缘电阻检测设计与实现被打赏¥34元 | |
| 给28BYJ-48三自由度机械臂加一个网页控制台被打赏¥32元 | |
| 用28BYJ-48电机从零搭一台三自由度机械臂被打赏¥33元 | |
| 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设被打赏¥27元 | |
| 基于BQ76952PFBR的BMS保护板热插拔损坏的原因和处理措施被打赏¥32元 | |
我要赚赏金
