Страница 1 из 1
AVRStudio глюк или нет
Добавлено: Вс дек 13, 2009 22:07:55
vavacas
Доброго всем времени суток столкнулся с такой проблемкой: в ATtiny2313 программа постоянно должна опрашивать порт PIND на предмет нажатия кнопок с подтянутыми резисторами но AVRStudio не хочет прописывать единицы в PIND при отпущенных кнопках, хотя должна, я так понимаю это во всех AVRStudio такая "заподлянка". Если я принудительно с помощью программного кода выставлю единицы на PIND то у меня в AVRStudio прога заработает зато начнутся проблемы в железе. Можно конечно ручками включать и выключать(нажимая мышкой на квадратики), но там как я уже говорил идет постоянный опрос этих кнопок (несколько раз в секунду) .Может кто нить знает как обмануть AVRStudio не влезая в программный код. Главное непонятно почему такая феня вообще в AVRStudio присутствует. Это ведь получается что перед программированием в железе надо весь программный код перелопачивать, получается на всех подтянутых с помощью резисторов выводах присутствует потенциал обратный требуемому. AVRами занялся недавно может я чо не так понимаю но программа из-за этой фени уходит в другом направлении прямо противоположном. Комприлятор свежий AVRStudio4.18 Может какие заплатки на этот счет существуют[/url]
Добавлено: Вс дек 13, 2009 22:13:27
DrWatson
Забей на эту студию. Делай на железе, проверяй десять раз монтаж и тестируй программу в железе. На крайняк пробуй другой симулятор.
Добавлено: Вс дек 13, 2009 22:18:54
vavacas
Спасибо конечно за совет по поводу железа но программа слишком большая чтоб вслепую в железе отлаживать а вот по поводу другого компилятора можно былобы и поподробней
Добавлено: Вс дек 13, 2009 22:19:14
Meteor
Согласен что косяк со стороны создателей и увы не один, сам на нем попался. Как результат совет который озучил "помощник известного сыщика" DrWatson проверяйте в железе. А не в симуляторах. Сам в симуляторе студии отлаживаю только глобальные куски.
Добавлено: Вс дек 13, 2009 22:25:26
vavacas
Компилировать все равно придется в студии в процессе компиляции то как она себя ведет не глючит?
Добавлено: Вс дек 13, 2009 22:28:06
vavacas
Главное эта феня в протеусе нормально проходит зато в протеусе USART не работает
Добавлено: Вс дек 13, 2009 22:32:45
vavacas
Так может посоветуете какой нить компилятор для Attiny2313
Добавлено: Вс дек 13, 2009 22:41:40
Meteor
Я пишу в студии на асме. Дальше железо.
Добавлено: Вс дек 13, 2009 22:42:29
vavacas
Что же это получается почти на любом сайте по AVR натыкаешься на AVRStudio а она только и годится чтоб светодиодик зажигать
Добавлено: Вс дек 13, 2009 22:46:51
Meteor
Писать программу это одно а сделать что бы она работала это немного в стороне. У студии например в сравнении с ИАРом много плюсов - она позволяет увидеть и таймеры и задать прием данных. Вот в ИАРе этого даже нет. Максимум порты. Так что радуйтесь.
Добавлено: Вс дек 13, 2009 22:49:10
vavacas
занимался PICами таких проблем не было ни в протеусе ни в MPLABе такой же сложности прогаммы отлаживались без проблем
Добавлено: Вс дек 13, 2009 22:58:51
vavacas
Может попробовать дополнительный файл создать где будет происходить проверка включены ли подтягивающие резисторы и если да будет команда установить PIND в единицу
Добавлено: Пн дек 14, 2009 09:45:32
GP1
можно конечно VMLab поюзать, там и периферия отображается и подтяжку с помощью внешних резюков сделать и еще куча всего, но уж больно он глючный, по-моему только mega16 нормально обрабатывается.

Re: AVRStudio глюк или нет
Добавлено: Пн дек 14, 2009 11:28:48
ARV
vavacas писал(а):в ATtiny2313 программа постоянно должна опрашивать порт PIND на предмет нажатия кнопок с подтянутыми резисторами но AVRStudio не хочет прописывать единицы в PIND при отпущенных кнопках, хотя должна
не должна.
в
PIND вообще в нормальных условиях писать ничего не надо. В студии есть окно периферии, там есть все регистры портов ввода-вывод, в которых во время отладки пошаговой можно вручную установить любые уровни, т.е. просто "закрашиваете" квадратики битов в
PIND и тем самым имитируете присутствие на портах высоких уровней.
vavacas писал(а):Если я принудительно с помощью программного кода выставлю единицы на PIND то у меня в AVRStudio прога заработает зато начнутся проблемы в железе.
это напрасно: запись единички в
PINх в микроконтроллерах с "новой" схемотехникой портов приводит к инверсии выходного уровня на пине, поэтому НЕ НАДО портить программу. см. выше - в
PIND обычно никогда не делают запись!
vavacas писал(а):Можно конечно ручками включать и выключать(нажимая мышкой на квадратики), но там как я уже говорил идет постоянный опрос этих кнопок (несколько раз в секунду) .Может кто нить знает как обмануть AVRStudio не влезая в программный код.
именно, квадратики! а если это не устраивает, то можно сделать "
стимуляцию" уровней на пинах - этот режим предусмотрен: вы создаете файл особого формата, в котором расписываете, какие уровни на пинах в какие моменты времени присутстсвуют, и запускаете отладку. в этом случае в нужные моменты времени на пины попадут уровни, описанные в вашем файле. у меня на сайте в файлохранилище есть утилитка для упрощения этой процедуры Stimuli Generator называется - рекомендую.
P.S. Вам не нравится
AVR Studio? Да вы просто ее готовить не умеете!

Re: AVRStudio глюк или нет
Добавлено: Пн дек 14, 2009 11:29:26
ARV
vavacas писал(а):в ATtiny2313 программа постоянно должна опрашивать порт PIND на предмет нажатия кнопок с подтянутыми резисторами но AVRStudio не хочет прописывать единицы в PIND при отпущенных кнопках, хотя должна
не должна.
в
PIND вообще в нормальных условиях писать ничего не надо. В студии есть окно периферии, там есть все регистры портов ввода-вывод, в которых во время отладки пошаговой можно вручную установить любые уровни, т.е. просто "закрашиваете" квадратики битов в
PIND и тем самым имитируете присутствие на портах высоких уровней.
vavacas писал(а):Если я принудительно с помощью программного кода выставлю единицы на PIND то у меня в AVRStudio прога заработает зато начнутся проблемы в железе.
это напрасно: запись единички в
PINх в микроконтроллерах с "новой" схемотехникой портов приводит к инверсии выходного уровня на пине, поэтому НЕ НАДО портить программу. см. выше - в
PIND обычно никогда не делают запись!
vavacas писал(а):Можно конечно ручками включать и выключать(нажимая мышкой на квадратики), но там как я уже говорил идет постоянный опрос этих кнопок (несколько раз в секунду) .Может кто нить знает как обмануть AVRStudio не влезая в программный код.
именно, квадратики! а если это не устраивает, то можно сделать "
стимуляцию" уровней на пинах - этот режим предусмотрен: вы создаете файл особого формата, в котором расписываете, какие уровни на пинах в какие моменты времени присутстсвуют, и запускаете отладку. в этом случае в нужные моменты времени на пины попадут уровни, описанные в вашем файле. у меня на сайте в файлохранилище есть утилитка для упрощения этой процедуры Stimuli Generator называется - рекомендую.
P.S. Вам не нравится
AVR Studio? Да вы просто ее готовить не умеете!
