Страница 1 из 1

Шим ~30КГц Atmega328

Добавлено: Вс окт 15, 2017 07:47:14
daaar
Нстроил шим, вот так:

Код: Выделить всё

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	DDRB = (1<<DDB1);
	TCCR1A = (1<<COM1A1)|(1<<WGM11);
	TCCR1B = (1<<WGM12)|(1<<CS00);
	OCR1A = 0x80;
	while(1)
	{
		
	}
}
Настроен 9-и битный шим, частота мк 16мгц
Но что то не фурычит, шим для преобразователя 5в - 170в
Схема такая:Изображение

Где я мог ошибиться?

Re: Шим ~30КГц Atmega328

Добавлено: Вс окт 15, 2017 09:11:02
akl
Попробуйте

Код: Выделить всё

   DDRB = (1<<DDB1);
   OCR1A = 0x0080;
   TCCR1A = (1<<COM1A1)|(1<<WGM11);
   TCCR1B = (1<<WGM12)|(1<<CS10);!!!!!!
;   TCCR1B = (1<<WGM12)|(1<<CS00);?????????
;   OCR1A = 0x80;

Re: Шим ~30КГц Atmega328

Добавлено: Вс окт 15, 2017 09:24:56
daaar
[uquote="akl",url="/forum/viewtopic.php?p=3207143#p3207143"]

Код: Выделить всё

TCCR1B = (1<<WGM12)|(1<<CS10);!!!!!!
;   TCCR1B = (1<<WGM12)|(1<<CS00);?????????
[/uquote]
вот тут ошибку понял, но всё равно не работает

Re: Шим ~30КГц Atmega328

Добавлено: Ср окт 18, 2017 15:07:13
daaar
Вот так вроде заработало

Код: Выделить всё

DDRB = (1<<1);
OCR1A = 0x80;
TCCR1A = (1<<COM1A0)|(1<<COM1A1)|(1<<WGM11)|(1<<WGM10);
TCCR1B = TCCR1B & 0b11111000 | 0x01;