Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Коллекция глюков Здесь публикуются все известные глюки, баги микроконтроллеров, памяти, АЦП и т.д.

 
Опции темы
Непрочитано 30.03.2010, 13:27  
KBH-I
Почётный гражданин KAZUS.RU
 
Аватар для KBH-I
 
Регистрация: 01.05.2009
Адрес: Коптево
Сообщений: 2,849
Сказал спасибо: 276
Сказали Спасибо 427 раз(а) в 274 сообщении(ях)
KBH-I на пути к лучшему
По умолчанию Re: Собираем глюки и "подводные камни" AVR и AVR Studi

Ещё у AVR система прерываний не приоритетная, несмотря на все заверения в даташитах.
Реклама:
KBH-I вне форума  
Непрочитано 30.03.2010, 15:01  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Собираем глюки и "подводные камни" AVR и AVR Studi

Сообщение от KBH-I Посмотреть сообщение
Ещё у AVR система прерываний не приоритетная, несмотря на все заверения в даташитах
Вполне приоритетная - если одновременно возникнут 2 запроса прерывания, то первым обработается старшее. Но при входе в прерывание (любое) аппаратно сбрасывается бит глобального разрешения прерываний, его можно включить программно (если надо), или он включится аппаратно после выхода из прерывания. Читаем даташит и не пишем ерунды
niXto вне форума  
Непрочитано 20.08.2010, 00:57  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Собираем глюки AVR Studio

При дизассемблировании студия интерпретирует инструкцию "com", как "lat", причём если попытаться использовать "lat" в программе, студия отказывается переваривать.
Миниатюры:
Нажмите на изображение для увеличения
Название: com-lat.gif
Просмотров: 73
Размер:	8.0 Кб
ID:	11157  
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
OneTech вне форума  
Непрочитано 15.09.2010, 11:09  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Собираем глюки и "подводные камни" AVR и AVR Studi

Сообщение от OneTech Посмотреть сообщение
При включенном прерывании на 0-м таймере в 2313 по совпадению (Compare A), в симуляторе АВР студио вплоть до самой последней версии при ручной установке бита прерывания TIFR bit 0 не срабатывает прерывание, а просто сбрасывается бит. Но... если таймер сам досчитает до указанного значения compare A (OCRA0=100) то прерывание нормально вызывается. Зашитая в контроллер прошивка тоже нормально работает. Прерывание от 1-го таймера вызывается нормально хоть в ручную хоть при досчёте до нужного значения. (Программа писана на asm на Си данную проблему не проверял).

Стыдно-стыдно, столько людей поработало над АВР-студио, а результат слабый.
А по моему судя по логике работы прерывания от каких-то событий здесь нет глюка потому как при ручной установке флага в TIFR сами-то события еще не наступили - вот система и не дает прерывания , ну и что что там флаг взвился вручную . а система же еще обязательно просматривает еще и выполнены ли сами условия для возникновения прерывания (это же обязательное условие ее устойчивой работы иначе любые сбои одних только флагов будут вызывать хаотичную сработку прерываний) если все ОК - то есть если еще и счетчик досчитал до Compare то делает прерывание , со стороны системы как раз все правильно сделано , я как раз считаю что с этой стороны люди в Studio нормально все сделали ,а если так ну очень хочется вызывать прерывание именно вручную то могу посоветовать вместо счета до числа Compare забить вручную сразу число в счетчик на 1-2 такта меньшее чем надо при возникновении прерывания и на последующих 1-2 тактах естественно система даст Вам это прерывание , с другой стороны если как Вы пишете - в других случаях можно непосредственно вызвать прерывание сразу через смену вручную только одного флага то получается что эти люди либо не доделали возможность все прерывания таким образом вызывать , либо намеренно оставили некоторые недоступно таким способом - тогда по моему можно считать это мелкой недоработкой , и довольно неудобной , но на большой глюк это как-то не тянет, ведь общие (от счетчика COMPARE самого) сработки прерыв верные , и прошивка работает нормально .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 15.09.2010 в 16:30.
pinco вне форума  
Непрочитано 22.10.2010, 11:32  
KBH-I
Почётный гражданин KAZUS.RU
 
Аватар для KBH-I
 
Регистрация: 01.05.2009
Адрес: Коптево
Сообщений: 2,849
Сказал спасибо: 276
Сказали Спасибо 427 раз(а) в 274 сообщении(ях)
KBH-I на пути к лучшему
По умолчанию Re: Собираем глюки и "подводные камни" AVR и AVR Studi

Сообщение от niXto Посмотреть сообщение
...если одновременно возникнут 2 запроса прерывания...
1. Это что же такое сделать нужно, чтобы они возникли именно ОДНОВРЕМЕННО? В реальном-то времени...
2. Понятие "Приоритет прерываний" подразумевает, что без всякого шаманства прерывание с бОльшим приоритетом всегда может прерывать обработчик прерывания с мЕньшим приоритетом. Так какие же они в AVR приоритетные после этого?
KBH-I вне форума  
Непрочитано 22.10.2010, 11:54  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Собираем глюки и "подводные камни" AVR и AVR Studi

Сообщение от KBH-I Посмотреть сообщение
Это что же такое сделать нужно, чтобы они возникли именно ОДНОВРЕМЕННО? В реальном-то времени...
Да хотя бы соединить вместе ножки инт0 и инт1. Процессор ведь должен корректно обрабатывать ДАЖЕ такие ситуации?

Сообщение от KBH-I Посмотреть сообщение
Понятие "Приоритет прерываний" подразумевает, что без всякого шаманства прерывание с бОльшим приоритетом всегда может прерывать обработчик прерывания с мЕньшим приоритетом.
Вы наверное не догадываетесь, что существуют контроллеры у которых ВООБЩЕ нет приоритета - то есть ВСЕ прерывания ждут в фоне, пока выполнится текущее. Связано это с ограничением ихнего стека - адрес возврата для второго и последующих просто некуда записать. Вы по-прежнему утверждаете, что у АВР прерывания НЕприоритетные? Единственный недостаток - невозможно вручную изменить ранжирование - то есть например инт0 ВСЕГДА старше инт1
niXto вне форума  
Непрочитано 28.10.2010, 18:26  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Re: Собираем глюки и "подводные камни" AVR и AVR Studi

Зато их можно перекинуть физически.

Во время непрерывной симуляции (нажатие F5) если попытаться снять или установить break point (F9) студия намертво виснет. Студия 4.18, сервис кряк третий
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
OneTech вне форума  
Непрочитано 14.11.2010, 12:24  
dmitriy_kuznecov
Прописка
 
Регистрация: 01.02.2008
Сообщений: 124
Сказал спасибо: 1
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
dmitriy_kuznecov на пути к лучшему
По умолчанию Re: Собираем глюки и "подводные камни" AVR и AVR Studi

несколько раз в кодевижне встречал глюк, при котором меняя две строчки местами код не выполняется, причем операции в строчках не связаны между собой и не связаны прерываниями. ИМХО кривоватый компилятор.
dmitriy_kuznecov вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVR для начинающих "С чего начать?" serggres Микроконтроллеры, АЦП, память и т.д 18 08.07.2011 16:12
[Решено] RISC vis CISC, все "ЗА" и "ПРОТИВ". sanitar249 Отвлекитесь, эмбеддеры! 1 24.10.2007 09:56
GCC AVR не работает printf("Hello word") Kabron Proteus, KiCAD и другие ECAD 8 03.03.2007 14:33
книга Ю.А. Шпак "Программирование на языке Си для AVR и zelanez Делимся опытом 27 22.10.2006 12:20


Часовой пояс GMT +4, время: 06:30.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot