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

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

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

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

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

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


 
Опции темы
Непрочитано 29.04.2013, 20:53  
Митя
Временная регистрация
 
Регистрация: 09.11.2009
Сообщений: 43
Сказал спасибо: 44
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
Митя на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от s64 Посмотреть сообщение
" ; " - нужно убрать, по моему.
Точно. Но проблема не в этом ;(
Реклама:
Митя вне форума  
Непрочитано 30.04.2013, 00:04  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от Митя Посмотреть сообщение
Точно. Но проблема не в этом ;(
А глобально разрешить прерывания не пробовали? Что-то я не вижу __interrupt_enable по тексту (как оно там, в вашем компиляторе?). Или оно подразумевается как нечто само собой разумеющееся?
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 30.04.2013, 01:14  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от ut1wpr Посмотреть сообщение
Что-то я не вижу __interrupt_enable по тексту (как оно там, в вашем компиляторе?). Или оно подразумевается как нечто само собой разумеющееся?
Невнимательно смотрите:
Код:
int main (void) 
{
  __enable_interrupt();
_Артём_ вне форума  
Непрочитано 30.04.2013, 01:18  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от Митя Посмотреть сообщение
Джентльмены!
Помогите разобраться с прерываниями
понимаю что ошибка в ДНК но где именно
процедура прерывания не вызывается
без прерываний АЦП работает
Всё вроде у вас правильно. Как проверяете программу?
Может не успеваете отследить прерывания (оно должно возникать приблизительно раз в 8*13=104 такта)?
Или в симуляторе не работает?

Последний раз редактировалось _Артём_; 30.04.2013 в 01:48.
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
Митя (30.04.2013)
Непрочитано 30.04.2013, 01:24  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от _Артём_ Посмотреть сообщение
Невнимательно смотрите:
Код:
int main (void) 
{
  __enable_interrupt();
Да, невнимателен, извините.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 30.04.2013, 06:47  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,969
Сказал спасибо: 2,553
Сказали Спасибо 11,850 раз(а) в 5,938 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Митя, возникает два вопроса:
1. Как, точнее, чем определяете обработку прерывания?
2. На чем основана уверенность в работе АЦП?
Раз уж ступор - логичней суп отделить от мух и разобраться с ними по отдельности.
Скажем, преобразования одиночные (в цикле) с прерываниями, а уж потом загонять АЦП в непрерывный режим.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
Митя (30.04.2013)
Непрочитано 30.04.2013, 10:16  
Митя
Временная регистрация
 
Регистрация: 09.11.2009
Сообщений: 43
Сказал спасибо: 44
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
Митя на пути к лучшему
Вопрос Re: Уроки СИ для AVR микроконроллеров

Спасибо за помощ уважаемые
akegor ›› 1 тестирую и в симе и на железе результат один, все что внутрифункции " __interrupt void ADCint(void)" не выполняется (в симе на этоот брякпоинт не заходит)
2 без прерываний работает возвращает то что надо
Код:
#include ‹ioavr.h›
#include ‹intrinsics.h›
int main (void) 
    PORTB   = 0xFF; /* Give PORTB and the User LEDs an initial startvalue */
    DDRB    = 0xFF; /* Set PORTB as output */

/*** Настройка АЦП ***/ 
ADCSRA |= (1 ‹‹ ADEN) // Включение АЦП
             |(1 ‹‹ ADPS1)|(1 ‹‹ ADPS0);	// предделитель преобразователя на 8
ADMUX |= (0 ‹‹ REFS1)|(0 ‹‹ REFS0) // внешний ИОН
            |(1 ‹‹ MUX0)|(0 ‹‹ MUX1)|(0 ‹‹ MUX2)|(0 ‹‹ MUX3); // вход PC0
while(1)
{ 
ADCSRA |= (1 ‹‹ ADSC);	// Начинаем преобразование
while ((ADCSRA&(1 ‹‹ ADIF))== 0); // Ждем флага окончания преобразования    
int2com(ADCL|ADCH ‹‹ 8); // Считываем  ADC и в передаем через COM
PORTB ^= 0xFF;
__delay_cycles(500000);
}
}
Митя вне форума  
Непрочитано 30.04.2013, 11:18  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

А где ADCIE?
Для возникновения прерывания, вам надо разрешить прерывание от самого устройства и установить глобальный флаг разрешения прерывания.
SasaVitebsk вне форума  
Непрочитано 30.04.2013, 11:49  
Митя
Временная регистрация
 
Регистрация: 09.11.2009
Сообщений: 43
Сказал спасибо: 44
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
Митя на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

SasaVitebsk››
Вот он
Код:
  
__enable_interrupt();
ADCSRA |= (1 ‹‹ ADEN) // Включение АЦП
             |(1 ‹‹ ADPS1)|(1 ‹‹ ADPS0)// предделитель преобразователя на 8
               |(1 ‹‹ ADATE )|(1 ‹‹ ADIE );
и судя по симу выставляется
Митя вне форума  
Непрочитано 30.04.2013, 12:57  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Уроки СИ для AVR микроконроллеров

Сообщение от Митя Посмотреть сообщение
SasaVitebsk››Вот он
Ну значит и прерывание возникает. Чудес то не бывает.
Я не заметил подключённого #include "iom2560.h".
Возможно не те адреса. Остальное всё правильно - будет работать
SasaVitebsk вне форума  
Сказали "Спасибо" SasaVitebsk
Митя (30.04.2013)
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видео уроки dosikus Микроконтроллеры, АЦП, память и т.д 61 23.01.2012 21:06
Видео уроки (flash) Proteus 7.1 fmssp Proteus 5 13.08.2007 03:56
AVR уроки Рюмика chipic128 Proteus, KiCAD и другие ECAD 9 07.03.2007 21:46
уроки от LABCENTRE(PIC12F675+C) dosikus Микроконтроллеры, АЦП, память и т.д 22 09.10.2006 10:16


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


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