Полная версия этой страницы:
возможная бага в CCS 3.1
Ошибка заключается в том, что при значении переменной FlagSwitch=5 что видно в окне WHATCH, исполняется код под case 2: правда он совпадает с тем, который при FlagSwitch=5, но оптимизация полностью отключена.
Данная переменная присваиватется только 2 раза (оба на экране).
Это прерывание. Переменная статическая.
Ошибки затирания и прочая биллиберда - исключаются.
Можете прокомментировать ситуацию?
Если найду сам разумное объяснение происходящему - опубликую.
У меня все работает нормально.
проверьте файл .CMD
там указано: .switch > SDRAM ? (или как там Вы назвали память программ?)
включите опцию "keep generated asm files" и разберитесь, что там накомпилировано. Похоже что оптимизация-то недоотключена, или локально включена для того файла.
удалось разобраться. Как ни странно программа работает правильно.
Просто одинаковый код в switch объединяется даже при отстутствии оптимизации.
А мне для наглядности нужно было оставить повтояющийся код.
А увидеть это до смешного просто.
Надо включить mixed... Подробности в присоединенном эскизе.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.