看板 Electronics 關於我們 聯絡資訊
不好意思我想問一下 有關 AT89S51 keil c 的語法問題 目前在學switch case的語法 我用整個8bit PORT 0當輸入 下面的程式是沒問題的 switch (P0) { case 0xFF: { P1=0XF0; } break; case 0xFE: { P1=0X0F; } break; } 但若改port 0.7只有一個bit當輸入的話(如下) 下面的程式是有問題的 switch (P0_7) { case 1: { P1=0XF0; } break; case 0: { P1=0X0F; } break; } compiler就過不去了 他說switch expression has illeagl type 想問一下如果只想用一個bit來做迴圈判斷式的話 可以做到嗎? 謝謝 -- HEY~~~HEY~~~CHAAAAARLIE~!   。。。。。 1 http://ppt.cc/Mvip ⊙ . ▼▼▼▼ 2 http://ppt.cc/Waty \▲▲▲▲ 3 http://ppt.cc/Vk@J φ . \ . δ ./ㄨ \\/ˊ▄▄ \|/ㄑ ( ︶ ˋ\///\/. by Armour@joke 掐~~~~~力 掐~~~~~力 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.205.245
mosquito520:用if不行嗎? 09/15 23:52
l1l1l1l1:if 二個都可以 只是想學學switch case~~ 09/15 23:57
mosquito520:這是電子版 就不回文章了 09/15 23:59
mosquito520:ANSI C Standard: The switch statement 09/16 00:00
mosquito520:The controlling expression of a switch statement 09/16 00:00
mosquito520:shall have integral type. 09/16 00:00
Schottky:把 data type 轉換成 int 就可以了, 不能直接用 bit 09/16 12:13
Schottky:因為 switch-case 翻譯成組合語言時是用查表法 09/16 12:13
Schottky:話說 C51 & Keil C 好像沒有適合的看板可以去 09/16 12:15
Schottky:ASM 板是歡迎 Keil C, 但是在 ASM 看到 C 我會以為走錯板 09/16 12:16
mosquito520:查表?這我不確定,我倒沒去探討, 09/17 17:46
mosquito520:至於KeilC適合去哪個板,我想這個板跟C語言板都可以吧 09/17 17:47
mosquito520:不回文指是因為這個問題是純粹的語法問題,跟硬體無關 09/17 17:48
sopi:單bit只有1與0 何須用到switch.. switch多用於無先後的判斷 09/18 03:06
mosquito520:樓上,Switch要注意先後順序的喔~ 09/18 17:40
謝謝樓上各位 ※ 編輯: l1l1l1l1 來自: 123.193.205.245 (09/18 20:43)
sneak: 話說 C51 & Ke https://noxiv.com 08/13 19:31
sneak: //noxiv.com https://daxiv.com 09/17 23:24