Ti suggerirei quanto segue facendo riferimento al codice e alle condizioni d'uso (quarzo compreso) riferite al tuo Post [29], quindi a quel momento.
All'interno della ISR intervieni così:
- Codice: Seleziona tutto
if(TMR2IF)
{
TMR2IF=0;
flagT2=1;
}
- Codice: Seleziona tutto
if (flagT2>0)
{
flagT2=0;
if (tempo>248)
tempo=100;
tempo++;
}
... ovviamente aggiungi la dichiarazione di flagT2.
Proviamo a vedere se cambia qualcosa ?
Saluti
p.s.
I due loop "while" sostituiscili col semplice test come di seguito:
- Codice: Seleziona tutto
if(tempo<tempoon)
{
MOTORE1OUT=1;
MOTORE2OUT=1;
}
else
{
MOTORE1OUT=0;
MOTORE2OUT=0;
}
... sempre che l'assegnazione a zero valga sino al raggiungimento della soglia di [248].

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


