看板 C_and_CPP 關於我們 聯絡資訊
各位先進好 小弟算是程式苦手...一點點基礎而已 最近遇到一個瓶頸 題目是在板子上有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
TroyLee:LED = (i<<8) | j; 03/22 15:10
saxontai:原 PO 把變數當常數用了... 03/22 15:12
shiantai:LED = i*16+j; 也行 03/22 15:20
nomorejerry:回一樓 應該是(i<<4),不然會超過吧@@ 03/22 16:13
nomorejerry:我後來執行成功了,謝謝各位 03/22 16:13
MOONRAKER:非常幽默。 03/22 16:41
TroyLee:對吼...忘記了 03/22 17:48
TroyLee:歹事 XD 03/22 17:48
TroyLee:還好原po不是把變數取 a,b ... 不然會找不出 bug XD 03/22 17:54
nomorejerry:樓上,何解呀QQ 03/23 08:08
yourdog:ㄏ..真的很幽默 03/24 00:29