作者nomorejerry (m e l o)
看板C_and_CPP
标题[问题] 用C++驱动LED亮灯
时间Sun Mar 22 15:02:21 2009
各位先进好
小弟算是程式苦手...一点点基础而已
最近遇到一个瓶颈
题目是在板子上有8颗LED,我们要用C++程式来驱动它动作
驱动程式已有附好,所以我不列出
我的想法是,若按下1,则会跑出0x81、0x42、0x24、0x18
LED(预设是0xff =全灭) → ( 8 4 2 1 8 4 2 1 )
我的片段程式
public Getnumber(int x)
{
if (x ==1)
{
for (i=8;i>=1;i=i/2)
{
LED = 0xij;
j = j*2;
}
}
}
但是compiler却不给我过...它说0xij不能这样用
想请问一下各位,要怎麽修改0xij?
我的想法是把 0xff →把ff这两个数字当成变数
但结果却是不行
但我用cout输出测试时,是可以跑出 81 42 24 18 的
只是我不会套用在LED上
请各位指教一下
谢谢
--
「会被嘲笑的梦想,才有实现的价值。」
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.236.116
1F:推 TroyLee:LED = (i<<8) | j; 03/22 15:10
2F:推 saxontai:原 PO 把变数当常数用了... 03/22 15:12
3F:推 shiantai:LED = i*16+j; 也行 03/22 15:20
4F:→ nomorejerry:回一楼 应该是(i<<4),不然会超过吧@@ 03/22 16:13
5F:→ nomorejerry:我後来执行成功了,谢谢各位 03/22 16:13
6F:→ MOONRAKER:非常幽默。 03/22 16:41
7F:推 TroyLee:对吼...忘记了 03/22 17:48
8F:→ TroyLee:歹事 XD 03/22 17:48
9F:推 TroyLee:还好原po不是把变数取 a,b ... 不然会找不出 bug XD 03/22 17:54
10F:→ nomorejerry:楼上,何解呀QQ 03/23 08:08
11F:→ yourdog:ㄏ..真的很幽默 03/24 00:29