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

 
 
> Проблема с ATtiny13, срыв генерации
simer
сообщение Jan 29 2008, 08:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 22-01-08
Пользователь №: 34 312



ATtiny13.
Генерация звука.
Таймер дергает ногой OC0A. При постоянном значении OCR0A полет нормальный.
Задача стоит в имитации звука сирены, т.е. частота должна плавно повышаться и понижаться.
Но при изменении в цикле

Код
for (i=10; i>0; i--)
{
   OCR0A=3+i;
   delay_ms(20);
}

for (i=0; i<10; i++)
{
   OCR0A=3+i;
   delay_ms(20);
}


наблюдается нестабильность генерации (звук какими-то рывками), по истечении некоторого времени может (но не всегда) произойти "прорыв" на некоторое время, и звук становится нормальным, т.е. плавно понижается и повышается.

Что не так?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ден
сообщение Jan 29 2008, 09:20
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 128
Регистрация: 21-06-07
Из: Омск
Пользователь №: 28 594



Пишете как я погляжу в CodeVision
А если попробовать написать так:
Цитата
for (i=3; i<250; i++)
{
OCR0A=i;
delay_ms(20);
}

for (i=250; i>3; i--)
{
OCR0A=i;
delay_ms(20);
}

так изменение значения регистра OCR0A будет происходить более плавно, почти 250 шагов, а не 10, хотя здесь нужно смотреть как оно все это звучать будет.
Go to the top of the page
 
+Quote Post



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

 


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


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