Questo è il codice MikroC:
- Codice: Seleziona tutto
void main() {
TRISA =0;
TRISB=0;
TRISC=0;
INTCON =0b10100000;
OPTION_REG =0b10000011;
TMR0=196;
}
void interrupt(void)
{
if(INTCON.T0IF=1){
RB1_bit=RB1_bit^1;
}
TMR0=196;
INTCON.T0IF=0;
}
questo è il codice HI TECH C
- Codice: Seleziona tutto
#define XTAL_FREQ 4MHZ
#include <PIC.h>
#include "delay.c"
void main(void)
{
TRISA=0;
TRISB=0;
TRISC=0;
OPTION_REG=0b10000011;
INTCON=0b10100000;
TMR0=196;
while(1){
}
}
void interrupt ISR (void)
{
if (T0IF=1){
RB1=RB1^1;
}
TMR0 =196;
T0IF=0;
}
per entrambi non ci sono errori e generano un onda quadra con periodo di 2ms.
Ma se analizziamo i due codici notiamo che nel HI TECH C vi è un ciclo while infinito SENZA IL QUALE L'ONDA NON VIENE GENERATA e nel MikroC non c'è .
I timer non sono indipendenti dall' andamento del programma ?????
C' è qualcosa di sbagliato nel codice HI TECH C (visto che non lo conosco)???
HELP.
Massimo.

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)





non si tratta di correttezza formale ma di una necessità.