Ðăng Nhập

View Full Version : Sao chỉ có thể là 8 ?


phanlamdien
19-05-2011, 10:56 PM
Sao chỉ có thể là 8.
while (1)
{
switch(mode)
{
case 0: program1(); break;
case 1: program2(); break;
case 2: program3(); break;
case 3: program4(); break;
case 4: program5(); break;
case 5: program6(); break;
case 6: program7(); break;
case 7: program8(); break;
}
}

//==========================================

Sao chỉ có thể tạo được 8 case này thui, không tạo được 9,10,11,.... hay sao mặc dù đã khai báo cho thằng mode là int16. Mọi người giúp giùm nha.

tanbka
20-05-2011, 10:01 AM
Vòng lặp này thoải mái mà, bạn đang dùng trình dịch gì thế, có điều trong vòn lặp mà có nhiều lệnh, bạn phải thêm {}
switch(mode)
{
case 0: {program1(); break;}
...
case 256: {program8(); break;}
default:
}

phanlamdien
20-05-2011, 12:15 PM
Lúc biên dịch thì nó biên dịch được nhưng lúc mô phỏng thì nó chỉ chạy được đến phần tử thứ 8 thui.
Mình sài MPLAB có cài thằng CCS v4.104.