1. Обязательно предопределять фьюзы (CONFIG).
2. Аналоговые функции порта PORTA при ненадобности отключать. Как уже было сказано, для этого выключить компаратор в CMCON0. Во многих PIC также нужно определять PORTA как цифровой в настройках АЦП.
3. Обязательна задержка против дребезга.
4. Настройка пред/пост делителя используемого таймера.
5. В обработке прерывания от таймера видимо все-таки правильнее будет как-то так:
CODE
static void interrupt isr(void) // Here be interrupt function - the name is
// unimportant.
{
if(T0IF)
{ // Was this a timer overflow?
count++; // Add 1 to count - insert idle comment
T0IF = 0; // Clear interrupt flag, ready for next
PORTB ^= 1; // toggle bit 0 of Port B, to show we're alive
}
else {bad_intr = 1;}// NO! Shock horror!
}
Сообщение отредактировал Genius1 - Apr 23 2011, 17:08