Проблема с 18 пиком HT PL4
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено puh 27 июня 2003 г. 13:21

T1 один раз дергает ногу и все. Прерывания живут. Подскажите, что не то? Я уже сдаюсь. Когда писал код для 16F876 небыло никаких проблем. С 18 все никак не заставлю работать без глюков.

Спасибо. Михаил.

#include

__CONFIG(1,HSPLL);
__CONFIG(2,WDTDIS & WDTPS128 & BOREN & BORV45 & PWRTEN);
__CONFIG(3,CCP2RC1);
__CONFIG(4,LVPDIS & STVREN);
__CONFIG(5,UNPROTECT);
__CONFIG(6,WRTEN);
__CONFIG(7,TRU);

static char d;
static char f;

#pragma interrupt_level 0
interrupt void intr(void){
if (TMR0IF == 1 && TMR0IE == 1){
TMR0IF = 0;
if (++d == 50) {
f = 1;
d = 0;
}
if (RC3 == 0) {
RC3 = 1;
} else {
RC3 = 0;
}
}
}

void T1(void){
// RE0 ^= 1;

if (RE0 = 1){
RE0 = 0;
} else {
RE0 = 1;
}
}

void T2(void){
// RC6 ^= 1;

if (RC6 == 0) {
RC6 = 1;
} else {
RC6 = 0;
}
}

void main(void){
d = 0;
TRISC = 0b10100111;
ADCON1 = 7;
TRISE = 0;
LATE = 1;
PORTC = 0xFF;

SYNC = 0;
SPEN = 0;

TMR0IE = 0;
TMR0IF = 0;

T0CON = 0b11000111;

IPEN = 0;
PEIE = 0;
TXIE = 0;
RCIE = 0;

TMR0 = 0;
TMR0IF = 0;
TMR0IE = 1;
GIE = 1;

while (1) {
if (f == 1) {
T1();
f = 0;
}
T2();
}
}

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

Ответы



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

E-mail: info@telesys.ru