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

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

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

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

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

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

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

 
Опции темы

Таймер1 AVR. Не работает верхний байт

Непрочитано 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.RUN
 
Регистрация: 28.02.2010
Сообщений: 2,294
Сказал спасибо: 52
Сказали Спасибо 460 раз(а) в 391 сообщении(ях)
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, время: 16:55.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.