[an error occurred while processing this directive]
Помогите разобраться с IARом! При вызове функции из другой, система виснет.. Хотя по отдельности все работают! см.исходник
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено PVV 13 декабря 2002 г. 14:23

------------------------------------------------------
#include
#include

#define M_PORT1 PORTA
#define M_PORT2 PORTC
#define H_PORT1 PORTB
#define H_PORT2 PORTD

unsigned int flash effect1[10] = {0,4095, 4095,0, 0,32768, 4095,0, 0,4095};

void Show_bytes(unsigned int aa, unsigned int bb)
{
H_PORT1 = aa & 0xFF;
H_PORT2 = aa >> 8;
M_PORT1 = bb & 0xFF;
M_PORT2 = bb >> 8;
}

void pause(unsigned int time){
char aaa;
do {
for(aaa=0;aaa<25;aaa++) _NOP();
time--;
} while(time > 0);
}

void Show_Sequence(unsigned char tacts)
{
unsigned char idx;
idx = 0;
do {
Show_bytes(effect1[idx],effect1[idx+1]);
idx += 2;

pause(2000);

tacts --;
} while(tacts > 0);
}

void test(void){
Show_Sequence(5);
}

void main(void){
DDRD = 0xFF;
DDRB = 0xFF;
DDRA = 0xFF;
DDRC = 0xFF;
Show_Sequence(5);
while(1) {
test();
// Show_Sequence(5);

}
}
------------------------------------------
Если вызывать Show_Sequence() просто из майна, то все ок. А если через test() то усе виснет...


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

Ответы



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

E-mail: info@telesys.ru