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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 09.05.2011, 20:52  
anrkaid
Частый гость
 
Регистрация: 17.12.2010
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
anrkaid на пути к лучшему
По умолчанию Странности отладчика в AVR studio

Только недавно начал писать код в этой студии (версия 4). Студи глючновата (watch криво работают), но в общем-то работает. При отладке вывилась какая-то програмная аномалия:

есть код такого содержания

Код:
void handleExternalInterrupt(unsigned char intNumber) {
  unsigned char state = intNumber ? getbit(PIND, 3) : getbit(PIND, 2);
  .......
  ........
}

/**
 * External interrupt 0
 */
SIGNAL (SIG_INTERRUPT0) {
  handleExternalInterrupt(0);
}

/**
 * External interrupt 1
 */
SIGNAL (SIG_INTERRUPT1) {
  handleExternalInterrupt(1);
}
Так вот, при входе в ф-ю handleExternalInterrupt в watch параметр intNumber равен 104, окошко CPU показывает то же значение в регистре R28, что побуждает меня верить отладчику. Для студии нужен какокой-то особенный синтаксис, что я на так пишу?
Реклама:
anrkaid вне форума  
Сказали "Спасибо" anrkaid
warel (27.06.2019)
Непрочитано 09.05.2011, 21:51  
Beginner43
Частый гость
 
Регистрация: 04.01.2010
Адрес: Россия, Киров
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
Beginner43 на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

Когда вы пишите на языке среднего или высокого уровня, то предоставляете компилятору право выбирать самому регистры для переменных(как глобальных, так и локальных), поэтому ничего удивительного нет в том, что компилятор выбрал для хранения переменной intNumber регистр R28. Для полного контроля регистров пишите на Асме!)
Beginner43 вне форума  
Сказали "Спасибо" Beginner43
warel (27.06.2019)
Непрочитано 09.05.2011, 22:31  
anrkaid
Частый гость
 
Регистрация: 17.12.2010
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
anrkaid на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

За ответ спасибо, но это-то я как раз понимаю, и в этом нет проблемы.
Проблема меня уже взбесила, где, черт возьми, моя единица??? Где мой ноль? Откуда берется это 104?
anrkaid вне форума  
Сказали "Спасибо" anrkaid
warel (27.06.2019)
Непрочитано 10.05.2011, 00:24  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

А давайте листинг handleExternalInterrupt посмотрим.
kison вне форума  
Сказали "Спасибо" kison
warel (27.06.2019)
Непрочитано 10.05.2011, 18:57  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

Сообщение от anrkaid Посмотреть сообщение
За ответ спасибо, но это-то я как раз понимаю, и в этом нет проблемы.
Проблема меня уже взбесила, где, черт возьми, моя единица??? Где мой ноль? Откуда берется это 104?
Про оптимизацию слышали?
Разве не проще выложить сокращенный (только то, что не работает) проект для студии?

Последний раз редактировалось CodeNameHawk; 10.05.2011 в 19:47.
CodeNameHawk вне форума  
Сказали "Спасибо" CodeNameHawk
warel (27.06.2019)
Непрочитано 10.05.2011, 20:01  
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

Вместо SIGNAL (SIG_INTERRUPT0) рекомендуется использовать конструкцию
Код:
ISR(ADC_vect)
{
// user code here
}
=GM= вне форума  
Сказали "Спасибо" =GM=
warel (27.06.2019)
Непрочитано 10.05.2011, 20:32  
anrkaid
Частый гость
 
Регистрация: 17.12.2010
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
anrkaid на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

Сообщение от CodeNameHawk Посмотреть сообщение
Про оптимизацию слышали?
Разве не проще выложить сокращенный (только то, что не работает) проект для студии?
Я просто думал, что для AVR какой-нибудь ограниченный C, или я как-то не так писал.
Сейчас, в конце-концов, прерывание работает правильно, как ни странно. Почему заработало - пока понять не смог. Быть может это от того, что я симулировал схему одновременно со включенным протеусом...

Последний раз редактировалось anrkaid; 10.05.2011 в 20:35.
anrkaid вне форума  
Сказали "Спасибо" anrkaid
warel (27.06.2019)
Непрочитано 11.05.2011, 02:45  
Murka-MakMur
Вид на жительство
 
Аватар для Murka-MakMur
 
Регистрация: 05.09.2007
Адрес: Новороссия ЛНР Рубежное -> РФ Калуга
Сообщений: 360
Сказал спасибо: 10
Сказали Спасибо 73 раз(а) в 58 сообщении(ях)
Murka-MakMur на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

Я чего-то не понимаю? Вы о Atmel AVRstudio говорите?
__________________
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Не зли меня
Murka-MakMur вне форума  
Сказали "Спасибо" Murka-MakMur
warel (27.06.2019)
Непрочитано 11.05.2011, 18:32  
Beginner43
Частый гость
 
Регистрация: 04.01.2010
Адрес: Россия, Киров
Сообщений: 31
Сказал спасибо: 1
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
Beginner43 на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

По поводу передачи параметров в функцию подробно и доступно можно прочитать здесьhttp://citforum.ru/programming/c/h15.shtml.
Beginner43 вне форума  
Сказали "Спасибо" Beginner43
warel (27.06.2019)
Непрочитано 11.05.2011, 20:24  
anrkaid
Частый гость
 
Регистрация: 17.12.2010
Сообщений: 10
Сказал спасибо: 2
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
anrkaid на пути к лучшему
По умолчанию Re: Странности отладчика в AVR studio

Да нет, с этим у меня все в порядке. Но. Проблемы не ждут! Чтобы не создавать тему спрошу тут.
Итак, с кнопками я разобрался, приступил к ADC. Худо-бедно настроил, вот так:
Цитата:
ADMUX = 0b01000111;
_delay_us(10);
ADCSRA = 0b10100111; // free run mode, no interrups, division factor = 128
_delay_us(10);
ADCSRA |= 0b01000000; // start conversion
Есои включить прерывание, то оно работает, т.е. конвертер как-то, но работает. Вот только значения выдает странные, а именно: в ADCL и ADCH записано 0x03FF, независимо от напруги на ножке. Максимум. Протеус много ругается, говорит что Reference value = 0. Возможно, я как-то не так подключил AREF, схема выглядит так:

Контроллер mega8L.
P.S. много гуглил. По всей видимости - это бага протеуса. Ну хоть схема-то у меня нормальная?

Последний раз редактировалось anrkaid; 11.05.2011 в 23:08.
anrkaid вне форума  
Сказали "Спасибо" anrkaid
warel (27.06.2019)
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На WinAVR + AVR Studio c CVAVR Vetal-soft Embedd С 87 03.03.2013 20:31
Как подружить AVR Studio и Proteus? Serge_Serge_ Proteus 27 13.12.2011 20:44
Codevision AVR + AVR Studio помогите разобраться с отладкой Daget Микроконтроллеры, АЦП, память и т.д 24 07.03.2011 14:41
Как в AVR Studio для программы на ассемблере указать "к Don_Ambrosio Микроконтроллеры, АЦП, память и т.д 4 04.03.2008 14:54
AVR Studio 4 + wingcc = глюк? nixsys Микроконтроллеры, АЦП, память и т.д 12 27.03.2006 14:36


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


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