AVRStudio глюк или нет
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
Доброго всем времени суток столкнулся с такой проблемкой: в ATtiny2313 программа постоянно должна опрашивать порт PIND на предмет нажатия кнопок с подтянутыми резисторами но AVRStudio не хочет прописывать единицы в PIND при отпущенных кнопках, хотя должна, я так понимаю это во всех AVRStudio такая "заподлянка". Если я принудительно с помощью программного кода выставлю единицы на PIND то у меня в AVRStudio прога заработает зато начнутся проблемы в железе. Можно конечно ручками включать и выключать(нажимая мышкой на квадратики), но там как я уже говорил идет постоянный опрос этих кнопок (несколько раз в секунду) .Может кто нить знает как обмануть AVRStudio не влезая в программный код. Главное непонятно почему такая феня вообще в AVRStudio присутствует. Это ведь получается что перед программированием в железе надо весь программный код перелопачивать, получается на всех подтянутых с помощью резисторов выводах присутствует потенциал обратный требуемому. AVRами занялся недавно может я чо не так понимаю но программа из-за этой фени уходит в другом направлении прямо противоположном. Комприлятор свежий AVRStudio4.18 Может какие заплатки на этот счет существуют[/url]
- Реклама
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Согласен что косяк со стороны создателей и увы не один, сам на нем попался. Как результат совет который озучил "помощник известного сыщика" DrWatson проверяйте в железе. А не в симуляторах. Сам в симуляторе студии отлаживаю только глобальные куски.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
- Реклама
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Я пишу в студии на асме. Дальше железо.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Писать программу это одно а сделать что бы она работала это немного в стороне. У студии например в сравнении с ИАРом много плюсов - она позволяет увидеть и таймеры и задать прием данных. Вот в ИАРе этого даже нет. Максимум порты. Так что радуйтесь.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
- Сообщения: 8
- Зарегистрирован: Вс дек 13, 2009 18:25:32
можно конечно VMLab поюзать, там и периферия отображается и подтяжку с помощью внешних резюков сделать и еще куча всего, но уж больно он глючный, по-моему только mega16 нормально обрабатывается. 
не должна.vavacas писал(а):в ATtiny2313 программа постоянно должна опрашивать порт PIND на предмет нажатия кнопок с подтянутыми резисторами но AVRStudio не хочет прописывать единицы в PIND при отпущенных кнопках, хотя должна
в PIND вообще в нормальных условиях писать ничего не надо. В студии есть окно периферии, там есть все регистры портов ввода-вывод, в которых во время отладки пошаговой можно вручную установить любые уровни, т.е. просто "закрашиваете" квадратики битов в PIND и тем самым имитируете присутствие на портах высоких уровней.
это напрасно: запись единички в PINх в микроконтроллерах с "новой" схемотехникой портов приводит к инверсии выходного уровня на пине, поэтому НЕ НАДО портить программу. см. выше - в PIND обычно никогда не делают запись!vavacas писал(а):Если я принудительно с помощью программного кода выставлю единицы на PIND то у меня в AVRStudio прога заработает зато начнутся проблемы в железе.
именно, квадратики! а если это не устраивает, то можно сделать "стимуляцию" уровней на пинах - этот режим предусмотрен: вы создаете файл особого формата, в котором расписываете, какие уровни на пинах в какие моменты времени присутстсвуют, и запускаете отладку. в этом случае в нужные моменты времени на пины попадут уровни, описанные в вашем файле. у меня на сайте в файлохранилище есть утилитка для упрощения этой процедуры Stimuli Generator называется - рекомендую.vavacas писал(а):Можно конечно ручками включать и выключать(нажимая мышкой на квадратики), но там как я уже говорил идет постоянный опрос этих кнопок (несколько раз в секунду) .Может кто нить знает как обмануть AVRStudio не влезая в программный код.
P.S. Вам не нравится AVR Studio? Да вы просто ее готовить не умеете!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
не должна.vavacas писал(а):в ATtiny2313 программа постоянно должна опрашивать порт PIND на предмет нажатия кнопок с подтянутыми резисторами но AVRStudio не хочет прописывать единицы в PIND при отпущенных кнопках, хотя должна
в PIND вообще в нормальных условиях писать ничего не надо. В студии есть окно периферии, там есть все регистры портов ввода-вывод, в которых во время отладки пошаговой можно вручную установить любые уровни, т.е. просто "закрашиваете" квадратики битов в PIND и тем самым имитируете присутствие на портах высоких уровней.
это напрасно: запись единички в PINх в микроконтроллерах с "новой" схемотехникой портов приводит к инверсии выходного уровня на пине, поэтому НЕ НАДО портить программу. см. выше - в PIND обычно никогда не делают запись!vavacas писал(а):Если я принудительно с помощью программного кода выставлю единицы на PIND то у меня в AVRStudio прога заработает зато начнутся проблемы в железе.
именно, квадратики! а если это не устраивает, то можно сделать "стимуляцию" уровней на пинах - этот режим предусмотрен: вы создаете файл особого формата, в котором расписываете, какие уровни на пинах в какие моменты времени присутстсвуют, и запускаете отладку. в этом случае в нужные моменты времени на пины попадут уровни, описанные в вашем файле. у меня на сайте в файлохранилище есть утилитка для упрощения этой процедуры Stimuli Generator называется - рекомендую.vavacas писал(а):Можно конечно ручками включать и выключать(нажимая мышкой на квадратики), но там как я уже говорил идет постоянный опрос этих кнопок (несколько раз в секунду) .Может кто нить знает как обмануть AVRStudio не влезая в программный код.
P.S. Вам не нравится AVR Studio? Да вы просто ее готовить не умеете!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!



