Перейти к содержанию
bbh_blocked_dnftl

Dx Portal Какой-то странный код генерирует Atmel Studio 7


Рекомендуемые сообщения

Пытаюсь скомпелировать несложный код с опросом бита ADIF (бит запроса прерывания от АЦП) в регистре ADCSRA и вот что получается в коде:

 

 

 

if((ADCSRA & (1<

628: 0a e7 ldi r16, 0x7A ; 122

62a: 10 e0 ldi r17, 0x00 ; 0

ADCSRA |= 1<

if((ADMUX&0b00001111) == ADCH_OUT){

62c: 0f 2e mov r0, r31

62e: fc e7 ldi r31, 0x7C ; 124

630: ef 2e mov r14, r31

632: f1 2c mov r15, r1

634: f0 2d mov r31, r0

temp1 = ((ADCH<<8) + ADCL)*100/205;

 

 

 

Как видно, никаким ветвлением и не пахнет

 

 

Пробовал разные варианты оптимизации - никаких принципиальных изменений (кроме O0, но там код вылезает из памяти). Соответственно, код не работает.

 

 

 

Что я сделал не так?

 

Читать дальше

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...