Диктофон Atmega8

Обсуждаем контроллеры компании Atmel.
Ответить
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

Сообщение kotriks »

Здраствуйте уважаемые форумчане!
Нашёл тут статью про запись и воспроизведение речи http://ffix.ru/2010-11-04-13-47-03/item ... D0%BC.html
Сижу и думаю будет ли работать на обычной микро сд в 4гб например или только дата флеш? там вроде линии одни и теже или я ошибаюсь, если нет возможно ли поправить это как то. Спасибо
Реклама
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

будет ли работать на обычной микро сд в 4гб
Нет.
там вроде линии одни и теже или я ошибаюсь
Ошибаетесь. Линии по разному используются. И команды по ним другие ходят.
возможно ли поправить это как то.
Да. Надо написать другую программу.
Реклама
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

Сообщение kotriks »

Возможно есть у кого то готовое решение поделитесь если не жалко или может есть на просторах интернета гдето уже готовое я не встречал.
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

Сообщение kotriks »

вот нашёл готовый пример но меги нет 32 есть только 168, помогите поправить под 48 мегу регистры, SFIOR вообще нет ни слова в даташите про этот регистор, встал в ступор. :)
http://we.easyelectronics.ru/AVR/zapis-zvuka.html

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

void capture_init()
{
	capture_wp = 0;
	capture_rp = 0;
	
	// Setup ADC (Channel 0, Fclk/8, Trigger=OCI0)
	ADMUX = 1<<ADLAR;
	SFIOR |= (1<<ADTS1) | (1<<ADTS0);
	ADCSRA = (1<<ADEN) | (1<<ADATE) | (1<<ADIE) | (1<<ADPS1) | (1<<ADPS0);
}

void capture_start(uint16_t freq)
{
	// Setup Timer0 (CTC, Fclk/8, Fint=freq)
	OCR0 = F_CPU/8UL/freq;
	TIMSK |= 1<<OCIE0;
	TCCR0 = (1<<WGM01) | (1<<CS01);
}

void capture_stop()
{
	// Stop capture
	TCCR0 = 0;
	capture_wp = capture_rp;
}

сделал так не знаю правильно нет

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

void capture_init()
{
	capture_wp = 0;
	capture_rp = 0;
	
	// Setup ADC (Channel 0, Fclk/8, Trigger=OCI0)
	ADMUX = 1<<ADLAR;
	//SFIOR |= (1<<ADTS1) | (1<<ADTS0);
	ADCSRA |= (1<<ADTS1) | (1<<ADTS0);
	ADCSRA = (1<<ADEN) | (1<<ADATE) | (1<<ADIE) | (1<<ADPS1) | (1<<ADPS0);
}

void capture_start(uint16_t freq)
{
	// Setup Timer0 (CTC, Fclk/8, Fint=freq)
	OCR0A = F_CPU/8UL/freq;
	TIMSK1 |= 1<<OCIE0A;
	TCCR0A = (1<<WGM01) | (1<<CS01);
}

void capture_stop()
{
	// Stop capture
	TCCR0A = 0;
	capture_wp = capture_rp;
}
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

SFIOR в меге48 это ADCSRB
Реклама
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 28, 2011 15:08:58

Сообщение kotriks »

Сделал множество ошибок в протеусе при запуске, вот исходники и файл симулятора, может кто глянет подскажет что не так у меня там, были бы средства купил бы мегу32 дабы не парить себе и окружающим мозги :))
Вложения
voice.rar
(860.45 КБ) 193 скачивания
Реклама
Ответить

Вернуться в «AVR»