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

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

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

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

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

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


 
Опции темы
Непрочитано 23.02.2016, 15:05  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

а для м16 так
Код:
 
 TCCR2 = 0x00; //stop
 ASSR  = 0x00; //set async mode none
 TCNT2 = 0x00; //setup
 OCR2  = 0x32;
 TCCR2 = 0x02; //start
 TIMSK = 0x80;
Если же хочешь, чтобы TCNT2 сбрасывался в 0 автоматически, то TCCR2 - 0x0A.
Реклама:

Последний раз редактировалось Someone; 23.02.2016 в 15:09.
Someone вне форума  
Сказали "Спасибо" Someone
miwutka (23.02.2016)
Непрочитано 23.02.2016, 16:37  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Timer2 in Atmega8 and Atmega16

Сообщение от Someone Посмотреть сообщение
Конечно нет, если ты хочешь дёргать вывод с частотой 20кГц.
Код:
OCR2  = 0x32;
1. Не 0x32, а 0x31.
2. Не 20 кГц, а 10 кГц.


P.S. Просто для ногодрыжнечества есть выход OC2.
Godzilla82 вне форума  
Сказали "Спасибо" Godzilla82
miwutka (23.02.2016)
Непрочитано 23.02.2016, 17:49  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Someone, Да, мне нужно, чтобы TCNT2 сбрасывался в 0 автоматически. Выходит настройки для обоих атмег в регистре TCCR2 = 0x0A ))) Ща гляну даташит на 16-ую. Неужели визард вот так меня на*бал ))))
miwutka вне форума  
Непрочитано 23.02.2016, 18:01  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Блин ошибся. В начале страницы исправил код. В обоих атмегах стоит 0х0А..... Не в ту прошивку посмотрел... Выходит код правильный..... На осциллографе импульсы идут одинаково. А конечный исполнительный механизм на 8-ой работает идеально, а на 16-ой через задницу... Изначально писал на 8-ой. Теперь нужно больше ног и памяти - взял 16-ую и приплыл )) Даже железо один в один сделал))
Кстати атмега 16 бушная. С какого-то прибора снята. То ли после грозы, толи после пожара, непомню. Может ли быть еще и в этом дело...?
В коде у меня по прерыванию INT0 считаються импульсы от сети(50 Гц) и в таймере1 считаю частоту сети примитивно. Как запускаю таймер2 так сразу частота сети плывет - то 48 то 23 то 37 и так пока не выключю таймер2. У таймера2 приоритет прерываний выше, но в атмеге 8 такого нет, а в 16-ой вот такие галюны.....
Атмега8
PHP код:
// Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 125,000 kHz
    // Mode: CTC top=OCR1A
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    
TCCR1A=0x00;
    
TCCR1B=0x0B;
    
TCNT1H=0x00;
    
TCNT1L=0x00;
    
ICR1H=0x00;
    
ICR1L=0x00;
    
//OCR1AH=0x00;
    
OCR1A=49;
    
//OCR1BH=0x00;
    
OCR1B=0x00
Атмега 16
PHP код:
// Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 1000,000 kHz
    // Mode: CTC top=OCR1A
    // OC1A output: Disconnected
    // OC1B output: Disconnected
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer Period: 0,5 ms 2000 of 1 sek
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    
TCCR1A=(0‹‹COM1A1) | (0‹‹COM1A0) | (0‹‹COM1B1) | (0‹‹COM1B0) | (0‹‹WGM11) | (0‹‹WGM10);
    
TCCR1B=(0‹‹ICNC1) | (0‹‹ICES1) | (0‹‹WGM13) | (1‹‹WGM12) | (0‹‹CS12) | (1‹‹CS11) | (0‹‹CS10);
    
TCNT1H=0x00;
    
TCNT1L=0x00;
    
ICR1H=0x00;
    
ICR1L=0x00;
    
OCR1A=499;
    
OCR1B=499

Последний раз редактировалось miwutka; 23.02.2016 в 18:21.
miwutka вне форума  
Непрочитано 23.02.2016, 18:17  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
На осциллографе импульсы идут одинаково. А конечный исполнительный механизм на 8-ой работает идеально, а на 16-ой через задницу...
Даже железо один в один сделал))
Видимо, дело было не в бобине...

Если на осциллографе "импульсы идут одинаково", какие могут быть претензии к меге16?

Хватит уже искать чёрную кошку в тёмной комнате, которой там нет.
Godzilla82 вне форума  
Непрочитано 23.02.2016, 18:23  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Godzilla82, Ну после того, что, по словам форумчан, я полный ламер в Мк )) я решил проверить себя и в этом ))) Теперь надо думать над загадкой почему же так по разному работают.....
miwutka вне форума  
Непрочитано 23.02.2016, 18:26  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Можно тему считать закрытой.... Спасибо. Пока буду на 8-ой делать.
miwutka вне форума  
Непрочитано 23.02.2016, 18:52  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
Может ли быть еще и в этом дело...?
Проверяется в симуляторе.
Someone вне форума  
Непрочитано 23.02.2016, 18:54  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
импульсы от сети(50 Гц)
Зависит от схемы. Может и больше посчитать - обе полуволны.
Someone вне форума  
Непрочитано 23.02.2016, 19:00  
Someone
Гражданин KAZUS.RU
 
Регистрация: 16.06.2005
Сообщений: 945
Сказал спасибо: 25
Сказали Спасибо 175 раз(а) в 124 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
приоритет прерываний выше
У АВР нет приоритетов. Раньше сработает прерывание, которое раньше возникнет. И только в весьма маловероятном случае (сам подумай, с точностью до наносекунд должны совпасть события, вызывающие прерывания), будет играть роль адрес вектора прерываний.
Someone вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
USB АЦП на ATmega16 переделать на ATmega8 98mildg1 Микроконтроллеры, АЦП, память и т.д 12 25.09.2010 20:29
Нужна помощь CDC-232 и atmega16 robin7341 Микроконтроллеры, АЦП, память и т.д 0 08.08.2010 00:13


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


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