Ответ: ошибка не в проге, а в алгоритме. Вот, для наглядности, сорцы. Идея глючит, судя по всему
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено mikej 13 ноября 2003 г. 14:24
В ответ на: что то я не совсем понял чем тут можно помочь??? ищи у себя в проге ошибку:) отправлено potor 13 ноября 2003 г. 14:10

// генератор огибающей
void timer1 (void) interrupt 3 using 2 /* Int Vector at 001BH, Reg Bank 2 */
{16разрядный таймер
TF1 = 0;
TH1 = (unsigned char) HIbyte_T1;//
TL1 = (unsigned char) TL1 + LObyte_T1;

ValSinusA = dimSinA[IndexSinus];
ValSinusB = dimSinB[IndexSinus];
ValSinusC = dimSinC[IndexSinus];

if (++IndexSinus > 20) IndexSinus = 0;
}

//генератор несущей
void timer0 (void) interrupt 1 using 1 /* Int Vector at 000BH, Reg Bank 1 */
{// 8разрядный самозагружаемый
data char ValPila;

TF0 = 0;
ValPila = dimPila[IndexNesus];
//---
if ( ValPila >= ValSinusA) SHIMoutA = 0;
else SHIMoutA = 1;

if ( ValPila >= ValSinusB) SHIMoutB = 0;
else SHIMoutB = 1;

if ( ValPila >= ValSinusC) SHIMoutC = 0;
else SHIMoutC = 1;
//---
IndexNesus++;
if(IndexNesus == sizeof(dimPila)) IndexNesus = 0;

}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru