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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 13.05.2014, 01:07  
black27512
Временная регистрация
 
Регистрация: 13.07.2008
Сообщений: 62
Сказал спасибо: 4
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
black27512 на пути к лучшему
Злость Не работают таймеры ATmega48

Доброго времени суток!
Контроллер ATmega48, требуется выводить ШИМ с 4 выводов, для этого используется таймер 0 и 1, вывода соответственно PD5 PD6 PB1 PB2.
Пару дней уже мучаюсь и не могу понять почему нет выхода ШИМ на эти вывода. Скурил даташит, но так и не понял. С МК типа ATmega8 или ATmega16 проблем никогда не возникало, но с этим совсем в ступоре. Выходы при этом ведут себя хитро, выход ШИМ есть только на ножке PB1, а на выводе PB2 уровнем в полвольта (видимо наводка). Без включения таймеров и манипуляциями через PORT ноги ведут себя как положено.
Может есть какая хитрость ?
Код на рисунке во вложении.
Миниатюры:
Нажмите на изображение для увеличения
Название: cod.GIF
Просмотров: 216
Размер:	12.9 Кб
ID:	64236  
Реклама:
black27512 вне форума  
Непрочитано 13.05.2014, 01:59  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

Регистры надо грузить через out
out TCCR0x,r16
__________________
Мелочи не решают главного. Они решают всё!
gary2007 вне форума  
Непрочитано 13.05.2014, 09:57  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,792
Сказал спасибо: 2,912
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

Сообщение от gary2007 Посмотреть сообщение
Регистры надо грузить через out
out TCCR0x,r16
1. Можно использовать как STx, так и OUT.
2. Но в случае с mega48/88/168/328 только STx, т.к. с непонятного перепугу Atmel перенёс почти все регистры ввода-вывода в пространство ОЗУ.
ForcePoint вне форума  
Непрочитано 13.05.2014, 10:12  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

А можно пользоваться АлгоритмБилдером - всё тот же Ассемблер со 100%-ным контролем кода, только он сам знает, через какие команды куда писать... Я даже сейчас часто подсматриваю, как он оформляет те же сравнения многобайтных чисел
niXto вне форума  
Непрочитано 13.05.2014, 11:02  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

Сообщение от ForcePoint Посмотреть сообщение
1. Можно использовать как STx, так и OUT.
Можно, но только осторожно. OUT работает только с адресами до 63. Поскольку переферии много, то, естественно, 64 адресов не хватает. Поэтому со всем что имеет адрес выше 64 работать как с памятью.
Boba_spb вне форума  
Непрочитано 13.05.2014, 13:13  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,792
Сказал спасибо: 2,912
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

Для ассемблера использую макросы из AVR001, они сами выбирают нужные команды в зависимости от диапазона адресов.

А по сути вопроса - вроде никакого криминала.
ForcePoint вне форума  
Непрочитано 13.05.2014, 21:09  
gary2007
Почётный гражданин KAZUS.RU
 
Аватар для gary2007
 
Регистрация: 24.09.2007
Адрес: Полтава, UA
Сообщений: 2,450
Сказал спасибо: 376
Сказали Спасибо 1,060 раз(а) в 624 сообщении(ях)
gary2007 на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

У меня для мега88 если смотреть листинг IAR компилятора, обращение к регистрам адрес которых меньше 100(дес) идет через out. Выше - через sts.
black27512, предлагаю Вам загнать свой код в СИ, и посмотреть ассемблерный листинг.
Дело 5-ти минут.
__________________
Мелочи не решают главного. Они решают всё!
gary2007 вне форума  
Непрочитано 24.06.2014, 10:55  
vynt
Почётный гражданин KAZUS.RU
 
Аватар для vynt
 
Регистрация: 02.03.2011
Адрес: Россия, КБР
Сообщений: 629
Сказал спасибо: 108
Сказали Спасибо 596 раз(а) в 334 сообщении(ях)
vynt на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

Лень скачивать DataSheet... PB2 не имеет альтернативной функции? например JTAG? если да - пока фьюзы не настроишь не заработает
vynt вне форума  
Непрочитано 24.06.2014, 11:12  
_Артём_
Гражданин KAZUS.RU
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: Не работают таймеры ATmega48

Сообщение от vynt Посмотреть сообщение
Лень скачивать DataSheet... PB2 не имеет альтернативной функции? например JTAG? если да - пока фьюзы не настроишь не заработает
Не имеет - mega48 jtag не поддерживает, только debugwire (оно через reset работает).
_Артём_ вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Toshiba l10 не работают usb порты bancir Ремонт оргтехники 3 22.07.2013 16:03
Таймеры ATmega8 Dimitrij Микроконтроллеры, АЦП, память и т.д 0 26.08.2011 00:06
AtMega48 + MMA7260QR serzhio Микроконтроллеры, АЦП, память и т.д 0 14.03.2011 22:35
USART на Atmega48 vgtmaster Микроконтроллеры, АЦП, память и т.д 4 23.10.2010 12:04


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


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