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

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

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

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

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

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

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

 
Опции темы
Непрочитано 01.02.2011, 11:49  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию Таймер1 AVR. Не работает верхний байт

Подскажите, почему у таймер1 (16разр.) считает только нижним байтом TCNT1L. А верхний байт молчит:

CodeVision:
interrupt [EXT_INT0] void ext_int0_isr(void)
{
PORTB=TCNT1H;
}

void main(){
//сохраняется значение TCNT1 при срабатывании внешнего прерывания:

PORTB=0b00000000;
DDRB= 0b11111111; //светодиоды

TCCR1B=0x03; //коэффициент деления.

EICRA=0x02;//срабатывание внешнего прерывания:
EIMSK=0x01;
EIFR=0x01;
#asm("sei");
while(1){

}
}
Реклама:
sanstan вне форума  
Сказали "Спасибо" sanstan
warel (27.06.2019)
Непрочитано 01.02.2011, 12:14  
OlegNZH
Почётный гражданин KAZUS.RU
 
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
OlegNZH на пути к лучшему
По умолчанию Re: Таймер1 AVR. Не работает верхний байт

TCNTn- 16-ти разрядный регистр, и обращение к нему происходит по особым правилам (см datasheet)

Atmel - так рекомендует запись \ чтение на C -

unsigned int i;
...
/* Установка TCNTn = 0x01FF */
TCNTn = 0x1FF;
/* Чтение TCNTn в i */
i = TCNTn;
...


upd.
Цитата.
...У каждого 16-разр. таймера имеется свой 8-разр. регистр для временного хранения старшего байта данных. Поэтому, во время доступа к 16-разр. регистрам одного таймера используется один и тот же временный регистр. Чтение/запись младшего байта инициирует 16-разр. операцию чтения/записи. Если выполняется запись младшего байта 16-разр. регистра, то за один такт ЦПУ одновременно записываются и младший байт и старший байт из временного регистра. Если выполняется чтение младшего байта 16-разр. регистра, то за один такт ЦПУ параллельно с чтением младшего байта происходит копирование старшего байта 16-регистра во временный регистр.


Таким образом, чтобы записать данные в 16-разр. регистр, необходимо сначала записать старший байт, а затем младший. А при чтении 16-разр. регистра, наоборот, сначала считывается младший байт, а затем старший. ...
конец Цитаты.

Последний раз редактировалось OlegNZH; 01.02.2011 в 12:25.
OlegNZH вне форума  
Сказали "Спасибо" OlegNZH
warel (27.06.2019)
Непрочитано 01.02.2011, 12:58  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию Re: Таймер1 AVR. Не работает верхний байт

Спасибо, как раз этот момент я упустил
sanstan вне форума  
Сказали "Спасибо" sanstan
warel (27.06.2019)
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
"Глюк" AVR таймера от кварца 32768 Гц alexgap Коллекция глюков 23 16.09.2013 07:29
Proteus 7.6sp0 не корректно работает I2C ( TWI ) в AVR. chapa Proteus 5 15.12.2010 09:41
Помогите с ЦАП AD7708/AD7718 или их аналогами ST_Senya Микроконтроллеры, АЦП, память и т.д 9 30.11.2009 19:03


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


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