Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2018, 12:30   #1
ahsar
 
Регистрация: 04.12.2016
Сообщений: 5
По умолчанию Компилятор выдает ошибку (switch expression has illegal type)

Добрый день! Почему switch выдает такую ошибку: (switch expression has illegal type)?

Программирую микроконтроллер от Silicon labs. В начале кода было объявление переменных: Led1 и Led2 - имеют значение либо 1 либо 0 (эти порты ведут к светодиодам -горит или не горит)

sbit Led1 = P3^4;
sbit Led2 = P3^5;
int flag = 0;
int flag2 = 0;

Led1 = 1;
Led2 = 0;
...

if(flag2 == 190) {
switch (Led1)
{
case 0 : SFRPAGE = DAC0_PAGE;
Att[0] = Att[0] +1;
DAC0_Code = GetDacValue( Att[0], ChS);
DAC0 = DAC0_Code; break;

case 1 :SFRPAGE = DAC1_PAGE;
Att[1] = Att[1] +1;
DAC1_Code = GetDacValue( Att[1], ChS);
DAC1 = DAC1_Code; break;
}
flag2=0;
}
ahsar вне форума Ответить с цитированием
Старый 13.02.2018, 13:19   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от ahsar Посмотреть сообщение
Почему switch выдает такую ошибку: (switch expression has illegal type)?
Потому что тип sbit для switch не подходит. Сделайте через if
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Type of expression must be BOOLEAN Виктория7777 Общие вопросы Delphi 11 19.12.2014 00:11
компилятор выдает ошибку (C++) Йод C/C++ Сетевое программирование 8 11.01.2013 12:42
Type mismatch in expression SlavaSH БД в Delphi 24 02.05.2012 09:19
jmp illegal descriptor type 0 deHimer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 06.01.2010 15:30
Выдает ошибку Array type required! LIEN Общие вопросы Delphi 19 17.05.2009 11:08