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

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

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

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

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

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

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

 
Опции темы
Непрочитано 25.06.2009, 10:33  
Stan88
Частый гость
 
Регистрация: 11.10.2008
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Stan88 на пути к лучшему
По умолчанию Помогите с таймером

Помогите разобраться!!! Конкретно туплю!!! В протеусе формируется прерывание, но обработчик не выполняется. Компилятор GCC, Atmega 16.
Код:
#include ‹avr/io.h›
#include ‹avr/interrupt.h›

unsigned char i;

ISR(TIMER1_COMPA_vect)
{
	i++;
}

void main(void)
{
	DDRA=0xff;
	DDRB=0xff;
	DDRC=0xff;
	
	TCNT1=0; // первый восьмибитный счетчик/таймер
    	TCCR1A=0b00000000; 
    	TCCR1B=0b00001101; // делитель 1024
	OCR1A=800;
    	TIMSK=0b00010000;
    	TIFR= 0b00010000;
    	WDTCR=0b00000000; // отключение сторожевого таймера
	SREG=0b10000000;
	
	while(1)
	{
	PORTA=TCNT1H;
	PORTB=TCNT1L;
	PORTC=i;
	}
}
Реклама:
Stan88 вне форума  
Непрочитано 25.06.2009, 11:17  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию

volatile unsigned char i;
Vov123 вне форума  
Непрочитано 25.06.2009, 11:39  
Stan88
Частый гость
 
Регистрация: 11.10.2008
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Stan88 на пути к лучшему
По умолчанию

Огромное спасибо!!!) Протупил!)))
Stan88 вне форума  
Непрочитано 25.06.2009, 17:55  
Churchill
Прописка
 
Регистрация: 23.03.2008
Сообщений: 121
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Churchill на пути к лучшему
По умолчанию

Немного не в тему - что дает указание volatile если можно? И что в данном случае она меняет в принципе?
Churchill вне форума  
Непрочитано 25.06.2009, 17:59  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

http://www.microchip.su/showthread.php?t=6280
urry вне форума  
Непрочитано 02.07.2009, 22:07  
Stan88
Частый гость
 
Регистрация: 11.10.2008
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Stan88 на пути к лучшему
По умолчанию

Доброго времени суток Всем!!! Возник вопрос по Timer/Counter 1 в режиме Fast PWM в ATmega16. Настраиваю выводы OC1A и OC1B, настраиваю сам таймер проверяю в протеусе...молчит. Настроил для проверки нулевой таймер - работет. Проверить в железе пока не могу. Подскажите пожалуйста, где я напортачил. Заранее благодарен!)
Код:
#include ‹avr/io.h› // библиотека для МК
#include ‹avr/interrupt.h› // прерывания
#include ‹avr/delay.h› // прерывания

volatile unsigned char i0;
volatile unsigned char i1;
volatile unsigned char count;
// проверка прерываний по совпадениею для Таймера 1
ISR(TIMER1_COMPA_vect)
{
	i0++;
}

ISR(TIMER1_COMPB_vect)
{
	i1++;
}
// установка значения для OCR0
ISR(INT0_vect)
{
	count++;
}

ISR(INT1_vect)
{
	count--;
}

void main(void)
{
	cli();
	DDRA=0xff;
	DDRB=0xff;
	DDRC=0xff;
	DDRD=0xff;
	// PWM Phase Correct, делитель 1024, установка OC0 up-count
	TCCR0=0b01110101;
	OCR0=0; // начальная инициализация
	// подкл. внешних прерываний
	MCUCR=0b00001010;
	GICR=0b11000000;
	GIFR=0b11000000;	
	// Fast PWM(OCR1), делитель 1024, установка OC1A/OC1B up-count
	TCCR1A=0b11110011; 
	TCCR1B=0b00011101; 
	OCR1A=11100;
	OCR1B=11100;
	TIMSK=0b00011000; 
	TIFR= 0b00011000; 
	WDTCR=0x00;
	sei();
	
	while(1)
	{
	PORTA=i0; // проверка обработчика прерывания COMPA
	PORTC=i1; // проверка обработчика прерывания COMPB
	OCR0=count*10; // обновление значения для OCR0
	}
}
Stan88 вне форума  
Непрочитано 03.07.2009, 12:10  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

фаст пвм в 1 таймере может использоваться в нескольких режимах.
Что конкретно нужно и почему именно первый таймер ?
лично я его берегу для точной отбивки временных интервалов...
ну, такое. Сколько разрядов оттуда Вам нужно снять ?
urry вне форума  
Непрочитано 03.07.2009, 13:18  
Stan88
Частый гость
 
Регистрация: 11.10.2008
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Stan88 на пути к лучшему
По умолчанию

Да я вобщем-то всегда ШИМ на нулевом делал, а на первом отсчет временных интервалов. Тут для интереса решил сделать ШИМ на первом. Какой именно режим роли не играет, у меня почему-то не один из режимов в протеусе не работает Вот и захотелось разобраться!)
Stan88 вне форума  
Непрочитано 03.07.2009, 13:34  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Как бы мой пример, работающий в проте, с первым таймером - здесь
http://vrtp.ru/index.php?showtopic=11377&st=20
urry вне форума  
Непрочитано 03.07.2009, 13:40  
Stan88
Частый гость
 
Регистрация: 11.10.2008
Сообщений: 25
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Stan88 на пути к лучшему
По умолчанию

Спасибо Вам огромное!!!) Буду теперь колупать!!)
Stan88 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Таймером(mega169) Archer07 Микроконтроллеры, АЦП, память и т.д 3 25.07.2009 16:35
Проблемы с таймером Pashokq Микроконтроллеры, АЦП, память и т.д 2 12.05.2009 17:36
Свет с таймером dvg89 Автоматика и аппаратура связи 3 25.03.2008 08:44
Помогите с таймером maxNTF Микроконтроллеры, АЦП, память и т.д 2 26.06.2006 11:33
помогите с таймером! ZyXEL Микроконтроллеры, АЦП, память и т.д 10 06.10.2005 20:46


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


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