谢谢您的回复,我还是不太明白,您说“在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肉眼应该能分辨出来,这样吧,你在你的开发软件上加一个断点试一下,看一下是什么效果,查看一下数据内容!这样就能出来结果了!
回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
我要赚赏金打赏帖 |
|
|---|---|
| 在FireBeetle2ESP32-C5上实现温湿度检测和显示被打赏¥20元 | |
| 在FireBeetle2ESP32-C5上实现光照强度检测及显示被打赏¥21元 | |
| 以FireBeetle2ESP32-C5实现数据识读播报被打赏¥19元 | |
| 【STM32F103ZET6】14:实测STM32F1的串口输出任务的挂起与恢复功能被打赏¥27元 | |
| Chaos-nano在压力容器监控系统中的项目应用被打赏¥23元 | |
| 基于FireBeetle2ESP32-C5的WS2812B彩色灯带控制被打赏¥21元 | |
| SWM221CBT7显示开发板驱动TFT显示屏被打赏¥19元 | |
| SWM221CBT7显示开发板驱动OLED屏显示被打赏¥19元 | |
| SWM221CBT7显示开发板及其使用被打赏¥20元 | |
| 揭秘Chaos-nano:ArduinoProMini轻量级操作系统开发框架深度解析与实战应用被打赏¥19元 | |
我要赚赏金
