Dmitriy_V
Oct 26 2007, 11:16
Для решения моей задачи требовалось использовать fast PWM TOP=ICR1 для ATMega8535. После написания программы запустил эмуляцию в AVRStudio, при этом результат "немного" отличался от описанного в datasheet. Счетчик, не доходя до значения ICR1, начинал считать в обратном направлении. Причем, какие бы режимы fast PWM я не ставил, ситуация повторялась. Вместо того, чтобы по достижении значения TOP обнуляться, счетчик производил счет в обратном направлении.
В CVAVR с помощью CodeWizard создал чистые файлы для различных режимов fast PWM, получается таже фигня. Сам запрограммировал регистры в IAR, эмуляция ничем ни отличалась от предыдущих случаев.
Данная ситуация повторилась как минимум на 3 компьютерах, т.е. конфликты с другим программным обеспечнием маловероятны.
Кто-нибудь сталкивался с подобной проблемой?
Maik-vs
Oct 26 2007, 11:31
Все сталкивались!

Это обычный глюк AVRstudio. Вот у меня отмечено: fast pwm работает как phase correct. Это для меги16. На реальном кристалле всё будет ОК.
Dmitriy_V
Oct 26 2007, 11:44
Цитата(Maik-vs @ Oct 26 2007, 15:31)

Все сталкивались!

Это обычный глюк AVRstudio. Вот у меня отмечено: fast pwm работает как phase correct. Это для меги16. На реальном кристалле всё будет ОК.
Спасибо за ответ. А то я уж грешным делом подумал, что это не в программе ошибка, а у меня (в ДНК)

. А есть какая-нибудь другая программа эмуляции, или patch к AVRStudio, чтобы все работало корректно? А то тестирование работы сразу на реальной плате может иметь фатальные последствия.
Dmitriy_V
Oct 26 2007, 17:50
Цитата(Kuzmi4 @ Oct 26 2007, 18:46)

Proteus....

Proteus с ATMega8535 не работает, код на C не воспринимает и выполнение программы в тактах не выводит.
Но программа хорошая, сам пользовался для 90S8525.
Maik-vs
Oct 29 2007, 12:23
Цитата(Dmitriy_V @ Oct 26 2007, 15:44)

Спасибо за ответ. А то я уж грешным делом подумал, что это не в программе ошибка, а у меня (в ДНК)

. А есть какая-нибудь другая программа эмуляции, или patch к AVRStudio, чтобы все работало корректно? А то тестирование работы сразу на реальной плате может иметь фатальные последствия.
Не знаю, в моих устройствах такого фатализма не бывает. Как-то программно я писал внаглую в TCNT и флаги, на время отладки. Но это времянку исказит...
Alex_Elov
Nov 9 2007, 00:16
Цитата(Dmitriy_V @ Oct 26 2007, 13:44)

Спасибо за ответ. А то я уж грешным делом подумал, что это не в программе ошибка, а у меня (в ДНК)

. А есть какая-нибудь другая программа эмуляции, или patch к AVRStudio, чтобы все работало корректно? А то тестирование работы сразу на реальной плате может иметь фатальные последствия.
пост, я написал об этом в Atmel,
http://electronix.ru/forum/index.php?showtopic=39064