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

 
 
> 16-разрядный аппаратный ШИМ на ATmega64
DREAD
сообщение Mar 31 2008, 12:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 15-05-06
Пользователь №: 17 106



Как организовать 16-разрядный аппаратный ШИМ в режиме fast PWM на Atmega64

таймер инициализируется так:

void Timer_Counter3_init(void)
{
ICR3= 0xFFFF;
TCCR3A = (1<<COM3B1)|(1<<COM3B0)|(1<<WGM31);
TCCR3B = (1<<WGM32)|(1<<WGM33)|(0<<CS30)|(1<<CS31);
//ETIMSK = (1<<TOIE3);
OCR3B = 0;
}
казалось бы должно работать но увы.
Люди добрые подскажите что я не так сделал

никто не хочет подсказать 05.gif

Сообщение отредактировал DREAD - Mar 31 2008, 12:51
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Amper25
сообщение Apr 2 2008, 20:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 215
Регистрация: 10-04-07
Пользователь №: 26 929



to yod.

Вы что то не то сделали, либо устранили причину косвенным путем.
Включение выключение подтяжки никак не повлияет на ШИМ.

Кстати, непонятно, как вы выключили подтяжку для одного пина?
В AVR можно вкл/выкл подтяжки только все сразу, с помощью PUD бита.
Может вы просто бит в DDRx поменяли?

Кстати, какой то странный у вас ASM.
Зачем использовать
out _SFR_IO_ADDR(DDRB),r24

если можно просто:
out DDRB,R24
а если регистр не из 0..0x60 то
STS DDRB,r24

Каким компилятором и средой пользовались?

Сообщение отредактировал Amper25 - Apr 2 2008, 20:25
Go to the top of the page
 
+Quote Post



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

 


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


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