PIC12F683, errori compilazione su end main
Salve a tutti, sto realizzando un programmino per gestire l'apertura e chiusura degli specchietti della mia auto.
Sto impiegando un pic12f683, il software lo sto scrivendo in C.
La mia richiesta di aiuto vuole incentrarsi sulla modalità di termine del programma: in fase di compilazione l'HI-TECH C mi rilascia questi due errori
Ecco il codice che ho scritto
Premetto che ho già provato ad inserire "end", "end;" , ma nulla da fare. In cosa sbaglio?
Sto impiegando un pic12f683, il software lo sto scrivendo in C.
La mia richiesta di aiuto vuole incentrarsi sulla modalità di termine del programma: in fase di compilazione l'HI-TECH C mi rilascia questi due errori
- Codice: Seleziona tutto
Error [195] C:\Users\Angelo\MiDe\listato.c; 64.0 expression syntax
Error [300] C:\Users\Angelo\MiDe\listato.c; 64.0 unexpected end of file
********** Build failed! **********
Ecco il codice che ho scritto
- Codice: Seleziona tutto
#include <htc.h>
#include <stdio.h>
#define TRISIO_0b00001011 //imposto le porte tutte uscite tranne gp0 e gp1 che sono ingressi
int INCH, GP0; // segnale di ingresso chiusura su GP0
int INAP, GP1; // segnale di ingresso apertura su GP1
int OUT1, GP5; // segnale di uscita 1 su GP5
int OUT2, GP4; // segnale di uscita 2 su GP4
int OUTPLUS, GP2; // segnale di uscita temporizzato (antipozzanghera)
int contaimp=0; // numero impulsi da telecomando, già azzerato
void controlloch(void); // dichiaro la funzione che gestisce la chiusura
void controlloap(void); // dichiaro la funzione che gestisce l'apertura
void main (void);
void main(void)
{
controlloch:
{
if (INCH)
{delayms(100); // ritardo per antirimbalzo }
if (INCH) // se non si tratta di un rimbalzo
{ contaimp++; }
if (contaimp==2) // se sono due impulsi allora possiamo attivare gli specchi
{ OUT1=1;
delayms(4000); //dopo 4 secondi spegniamo l'alimentazione agli specchi e azzeriamo il contaimp
OUT1=0;
contaimp=0;
}
goto controlloch;
} //chiusura controlloch
controlloap:
{
if (INAP)
{delayms(100); // ritardo per antirimbalzo }
if (INAP) // se non si tratta di un rimbalzo
{ contaimp++; }
if (contaimp==2) // se sono due impulsi allora possiamo attivare gli specchi
{ OUT1=1;
OUT2=1;
OUTPLUS=1;
delayms(4000); //dopo 4 secondi spegniamo l'alimentazione agli specchi e azzeriamo il contaimp
OUT1=0;
OUT2=0;
contaimp=0;
delayms(6000); // dopo altri 6 secondi spegniamo l'uscita ausiliaria per i led antipozzanghera
OUTPLUS=0;
}
goto controlloap;
} //chiusura controlloap
} //chiusura main
Premetto che ho già provato ad inserire "end", "end;" , ma nulla da fare. In cosa sbaglio?



