реклама на сайте
подробности

 
 
> Таймер1 в ATtiny45, не работает PWM на OC1B
ivainc1789
сообщение Aug 14 2008, 04:44
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Случился полный затык с ATtiny45, подключенной Драконом к Студии 4.14b589. В кристалл зашита программа для установки таймера1 в режим PWM на вывод OC1B (32MHz/4/256=31250Hz=Fpwm):
Код
__C_task void main(void) {
  SETUP(OC1Apin,OUT0);
  SETUP(OC1Bpin,OUT0);
  TCCR1 = BIN(00000000);
  GTCCR = BIN(01100010);
  TCNT1 = 0;
  OCR1A = 20;
  OCR1B = 100;
  OCR1C = 255;
  PLLCSR = BIN(10000110);Delay(200*us);  
  while(!CHKBIT(PLLCSR,PLOCK));
  TCCR1 |= 0x03;
  while(1);
}

Однако в результате на выводе OC1B видим лог.0.
Начал разбираться. Протестировал работу OC1A манипуляцией битов COM1A1 и COM1A0 в TCCR1 прямо из Студии. Все работает как и описано в даташите. Те же самые действия с OC1B (меняем COM1B1 и COM1B0 в GTCCR) не приводят к появлению частоты на OC1B. Генерация частоты здесь появляется только если включить канал OC1A теми же COM1A1 и COM1A0 в TCCR1!!!! Не понимаю, как такое может быть? Ведь waveform generators отдельные для обоих каналов судя по даташиту...
Фузы все по умолчанию, т.е. режим совместимости таймера1 с ATtiny15 не установлен.
Использую компилятор IAR v5.10A. Проверил листинг:
Код
     21            TCCR1 = BIN(00000000);
   \   00000004   E000               LDI     R16, 0
   \   00000006   BF00               OUT     0x30, R16
     22            GTCCR = BIN(01100010);
   \   00000008   E602               LDI     R16, 98
   \   0000000A   BD0C               OUT     0x2C, R16

Вроде в адресах регистров нет ошибок.
Напоследок, заменил кристалл. Все то же самое.
Сейчас в полной растерянности... Нужна PWM именно на OC1B и только там, др. выводы используются как general IO.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 19:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01434 секунд с 7
ELECTRONIX ©2004-2016