作者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