ICC AVR 左移问题

2019-07-15 10:27发布

屏幕截图(33).png
程序的大意是,前面部分7脚亮灭(目的是看看程序是否运行),然后左移n位--脚亮灭。用temp来左移实现位操作置高熄灭。但是实际是temp左移1,2位可以实现灭,大于3后就一直亮着,程序仍然循环,只是n脚不灭。
不至于能够左移2位,不能左移大于3位吧!我直接把PORTA=PORTA|(3<<temp)改为PORTA=PORTA|0x08后又是可以熄灭的。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
人中狼
1楼-- · 2019-07-16 17:05
 精彩回答 2  元偷偷看……
追风逐月
2楼-- · 2019-07-16 21:52
人中狼 发表于 2017-6-16 12:49
这样的话,你只能先读一次端口到变量里,然后修改相应的位,之后再写到端口里

只有先读端口,然后判断端口相应位是0还是1,然后在用与或来赋值。我估计这种为赋值变量应该用得少,碰到再说了

一周热门 更多>