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

Attiny13 не меняется частота

Добавлено: Вс фев 26, 2012 13:34:29
Frezerok
Всем доброго дня.

В Мakefile меняю частоту, прошиваю, прога работает, изменения в проге тоже работают, А вот почему не меняется частота понять не могу???

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


#include "avr/io.h"
#include "avr/iotn13.h"
#include "util/delay.h"

unsigned char pwm;
unsigned char vr;// Временная задержка
int main(void)
{
DDRB = 0b111111; // выход ШИМ
DDRB = 0b00000001;
// настройка таймера
  TCCR0A |= (1 << WGM00) | (1 << WGM01) | (1 << COM0A1) | (0 << COM0A0) | (1 << COM0B1) | (0 << COM0B0);
  TCCR0B |= (0 << WGM02) | (0 << CS02) | (0 << CS01) | (1 << CS00);
 // настройка прерываний
 // TIMSK0 = (1<<TOIE0); // по переполнению таймера
 //TCNT0=0x00;
 
	while (1)
	{
		vr=20;
		pwm=0;
		for (pwm=0; pwm < 255; pwm++)  //расгорание до max
		{
			OCR0A = pwm;
			OCR0B = pwm;
			_delay_ms(vr);
			
		}
		
	}
  
}
Заранее спасибо.

Re: Attiny13 не меняется частота

Добавлено: Вс фев 26, 2012 14:55:39
Frezerok
Нашел некоторое не соответствие:

я везде поставил attiny13, а у меня на самом деле attiny13a/ Может здесь собака сидит.
Правда когда компилирую с #include "avr/iotn13a.h" , прога ругается и пишет:

In file included from qwe.c:3:
avr/iotn13a.h:44:4: error: #error "Attempt to include more than one <avr/ioXXX.h> file."

А что с этим делать не знаю???

Re: Attiny13 не меняется частота

Добавлено: Вс фев 26, 2012 15:21:04
Frezerok
А это может быть из-за того, что я в LPT - программатор поставил сопротивления не 150 Ом, а 390 Ом?
Просто под руками других нет, да и этих всего 4 шт.

Re: Attiny13 не меняется частота

Добавлено: Вс фев 26, 2012 22:56:02
Engineer_Keen
1) программатор не при чем
2) с точки зрения программы и программатора разницы между А и не-А нет
3) частота в среде программирования задается для расчетов всяких задержек и прочего, частота самого МК задается фьюзами и внешним кварцем\тактовым генератором (иногда регистром OSCCAL)

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 07:16:51
IfoR
Frezerok писал(а): Правда когда компилирую с #include "avr/iotn13a.h" , прога ругается и пишет:

In file included from qwe.c:3:
avr/iotn13a.h:44:4: error: #error "Attempt to include more than one <avr/ioXXX.h> file."
Оставьте в коде только #include <avr/io.h> (остальные #include "avr/ioXXX.h" уберите). Нужный хидер автоматически подхватится в зависимости от выбранного контроллера.

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 16:42:46
Frezerok
За фьюзы спасибо, а то я уже сутки голову ломаю.
За io спасибо, а то не знал как от этого избавиться.


Вот этого момента с фьюзами я не знал. Почитал статейки различного характера, так и не понял. Можно ли заставить Attiny13 работать с частотой 6 Мгц? Если можно, то подскажите пожалуйста как это сделать?

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 17:51:52
ut1wpr
Frezerok писал(а):За фьюзы спасибо, а то я уже сутки голову ломаю.
За io спасибо, а то не знал как от этого избавиться.


Вот этого момента с фьюзами я не знал. Почитал статейки различного характера, так и не понял. Можно ли заставить Attiny13 работать с частотой 6 Мгц? Если можно, то подскажите пожалуйста как это сделать?
Можно. Применив кварц на 6 МГц.
http://www.atmel.com/Images/doc2543.pdf стр. 25
Вообще-то при изучении МК рекомендуется читать не "статейки разного характера", а обратится к документации от производителя. Желательно на языке оригинала.

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 18:17:45
Frezerok
Что 6 Мгц, можно сделать на кварце я прочитал и понял. Я имею ввиду, можно ли это сделать на внутреннем генераторе???
По поводу документации согласен, но к сожалению, наша нация таких вещей не делает. А остальные производители, кот. делают, пишут на англицком, который я не понимаю... :cry:

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 18:21:19
ramid
Attiny13 не тактируется кварцевым резонатором.
Так что или External Clock, или нельзя :))

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 18:30:24
Frezerok
:facepalm: Точно, об этом я забыл.

Ну нельзя, так нельзя.
БЛИН. Задача простейшая, прога простейшая, а камень придется брать с кулак для ее решения, да еще и кучу обвеса вешать.

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 18:38:28
ramid
Attiny25/45/85 спасут отца русской демократии :)

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 19:44:11
ut1wpr
ramid писал(а):Attiny13 не тактируется кварцевым резонатором.
Так что или External Clock, или нельзя :))
Старею... Невнимательно прочитал заголовок темы, воспринял как 2313.. :(
Даже предположить не мог, что в 13-й таньке кто-то возжелает иную тактовую, отсюда и мой прокол. :)
Мои извинения. Все мной сказанное относится к 2313.

Re: Attiny13 не меняется частота

Добавлено: Пн фев 27, 2012 21:56:36
YS
1. Кварц ATtiny13 не поддерживает.

2. Можно попробовать использовать предделитель (регистр CLKPR) и калибровку генератора (регистр OSCCAL). Поделить на два и разогнать генератор до 12МГц. Подробнее в даташите.

Без знания же английского в наши дни заниматься электроникой бессмысленно.