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

AVR Studio 4.13.555

Обычно вечером пишу в программе "завет на завтра", утром компильнул - выскочили ошибки - сразу вспомнил, что делать. А сегодня не так.

 

CP2I    Yh,Yl,high(CmdSyn),low(CmdSyn) тут неправильно.

(где CP2I - макрос :
        cpi    @0,@2        
        brne PC+2
        cpi    @1,@3    )

 

Результат? Да: "Assembly complete, 0 errors. 0 warnings" Аргументы макросов не проверяются?

 

проверил: ldi r16,low(CmdSyn) тут неправильно.

Сразу 14 ошибок, на каждую русскую букву.

Изменено пользователем Maik-vs

Поделиться сообщением


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

CP2I    Yh,Yl,high(CmdSyn),low(CmdSyn) тут неправильно.

(где CP2I - макрос :
        cpi    @0,@2        
        brne PC+2
        cpi    @1,@3    )

 

Результат? Да: "Assembly complete, 0 errors. 0 warnings" Аргументы макросов не проверяются?

 

проверил: ldi r16,low(CmdSyn) тут неправильно.

Сразу 14 ошибок, на каждую русскую букву.

Не вижу противоречий, макросу передаётся всё, что указано в параметрах вызова. Просто в вашем случае не используется @4="тут" @5="неправильно." Добавьте в определение вашего макроса:

.macro CP2I
ldi r16,@2 @4 @5
.end

И получите свои 14 ошибок.

Поделиться сообщением


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

Не вижу противоречий, макросу передаётся всё, что указано в параметрах вызова. Просто в вашем случае не используется @4="тут" @5="неправильно." Добавьте в определение вашего макроса:

.macro CP2I
ldi r16,@2 @4 @5
.end

И получите свои 14 ошибок.

 

А с какого перепугу пробел стал разделителем аргументов?!!

У меня при подстановке аргументов в макрос возникает

cpi Yl, low(CmdSyn) тут неправильно.

И типа всё нормально.

То же самое, написанное в программе, вызывает 14 ошибок. Это, ребята, бага.

Поделиться сообщением


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

Мне по спешке было проще заменить мегу48 на мегу 8, не мог запустить на асме уарт. По свободе попробую исчо. Но даташит это песня.

Поделиться сообщением


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

Небось, AVRASM 2 ???

 

Небось. Попробовал поменять на асм1, мама дорогая! :wacko: насыпал 234 ошибки... Я поубирал комментарии //.. и /*.. */, всё равно... Ниасилил.

Поделиться сообщением


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

в vmlab при просмотре окна периферии для АЦП ATmega64 вместо регистров ADCSRA и ADCSRB стоит регистр ADCSR. При симуляции при записи в регистр ADCSRA происходит изменение регистра ADCSR, а при записи в регистр ADCSRB строка помечается ошибкой и не выполняется

Поделиться сообщением


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

Не знали о таких?

Как это, нельзя найти в железе, а можно В ПРИНЦИПЕ найти в СИмуляторе? Т.е. я на реальном самолете В ПРИНЦИПЕ не могу попасть в грозовой фронт, а на симуляторе могу? :lol:

 

1. В основе симулятора лежит модель МК. Вы слышали про errata, котрые появляются в процесее эксплуатации сего МК? Что, эти errata регулярно перекладываются на модель МК в симуляторе?????

2. Сделайте в протеусе, или чем-то там еще, устройство, которое содержит под 500 компонентов, из которых пара - это FPGA достаточно жирных, и каждая имеет свою конфигурацию, а остальные примерно 40% компонентов - это ИМС, которые начали выпускаться, ну, например, в прошлом году.

3. Смоделируйте в симуляторе разводку платы в Вашем симуляторе. Вы не сталкивались с ситуацией, типа, на макетке работает, а серийной плате - нет?

4. Ну а теперь скажите, и что же Вы предполагаете выловить симулятором, что невозможно выловить в реальном устройстве? :( Вы в речке плавать учились тоже по компьютерной модели? А как ремонтировать неисправную аппаратуру? Надеюсь Вы вооружаетесь всякими там осциллографами, тестерами и прочей измериловкой, и начинаете ВЫЧЛЕНЯТЬ неисправность.

Поделиться сообщением


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

В АВРСтудии 4.12сп4 была замечена следующая бага (или небага ??).

 

На Tiny13 запущен таймер с прерыванием при переполнении который отсчитывает циклы работы. По истечении 100 циклов включается sleep (PowerDown mode) с пробуждением по внешнему пину. МК благополучно засыпает, просыпается по внешнему пину. Вроде бы все как надо... но во время спячки продолжает молотить таймер, чего в режиме PowerDown по определению быть не должно ! И в результате просыпается МК также при переполнении таймера.

Может я чего-то упустил из виду ? :wacko:

Поделиться сообщением


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

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

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

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

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

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

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

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

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

×
×
  • Создать...