[an error occurred while processing this directive]
Подскажите в чем проблема (в IAR или во мне)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено RSA_M 01 августа 2002 г. 08:13

Вроде простая прога мигает светодиодами. Целый день мучаюсь - ну неработает и все. В дебагере все нормально. Заливаю в AT90S2313 -
не работает и все.
Убираю if из цикла while, просто вызываю функцию всегда - все работает.
Всавляю if - такое ощущение что даже в main не входит!!!?????

/*********************************************************/
#pragma language=extended
#include "io2313.h"
#include "ina90.h"

unsigned char flag = 10;
long k = 0;
long j = 0;

interrupt [INT0_vect] void INT0_interrupt(void)
{
flag = 20;
PORTB |= 4;
GIMSK = 0x00;
}

interrupt [INT1_vect] void INT1_interrupt(void)
{
flag = 20;
PORTB |= 4;
GIMSK = 0x00;
}

void f1(void);

void main(void)
{
DDRD = 0x63;
DDRB = 0xDF;
PORTD = 0xFF;
PORTB = 0x20;

GIMSK = 0xC0;
_SEI();

while(1)
{

if (flag == 20) f1();
//если убрать if, просто вызывать f1() то все работает
//а в этом варианте не работает

for (j=0; j<3000; j++){
PORTB |= 2;
}
for (j=0; j<3000; j++){
PORTB &= 0xFD;
}
}
}

void f1(void)
{
PORTB |= 0x04;
}

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

Ответы



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

E-mail: info@telesys.ru