Paolo hai ragione...ma dal semplice lampeggio del led al programma che mi occorre c'è un abisso, ci sono tante funzioni da usare che nel lampeggio del led non ci sono..
Ho provato a scrivere qualcosa seguendo i Vs suggerimenti.
Al posto di timerch ho messo delay_s
ecco
- Codice: Seleziona tutto
#include <htc.h>
int INCH, GP0_bit; // segnale di ingresso chiusura su GP0
int INAP, GP1_bit; // segnale di ingresso apertura su GP1
int OUT1, GP5_bit; // segnale di uscita 1 su GP5
int OUT2, GP4_bit; // segnale di uscita 2 su GP4
int OUTPLUS, GP2_bit; // segnale di uscita temporizzato (antipozzanghera)
int TRUE = 1; // vero corrisponde allo stato alto
int FALSE = 0; // falso corrisponde allo stato basso
#define TRISIO_b00001011; //imposto le porte tutte uscite tranne gp0 e gp1 che sono ingressi
#define char GetInput (INCH,INAP); //prototipo funzione getinput
#define void main (void); //prototipo funzione main
void main (void)
{
while (1)
{
if (GetInput(INCH^INAP) == TRUE) // Solo se sono presenti gli INPUT procedo, altrimenti non si fa nulla
{
if (INCH == TRUE) // Se è giunto l'input di INCH procedo
{
{delayms(100); } // ritardo per antirimbalzo
if (INCH == TRUE) // se non si tratta di un rimbalzo
{delay_s(3); } //al rilascio parte il countdowns di 3 sec.
while (delay_s()!=0) // Se il timer di INCH non è ancora scaduto, attendo il secondo impulso
{
if (INCH == TRUE) // al secondo impulso attivo le uscite
{
OUT1 = 1;
delay_s (4);
OUT1 = 0;
OUT2 = 0;
}
}
}
else if (INAP == TRUE)
{
{delayms(100); } // ritardo per antirimbalzo
if (INAP == TRUE) // se non si tratta di un rimbalzo
{delay_s(3); } //al rilascio parte il countdowns di 3 sec.
while (delay_s()!=0) // Se il timer di INCH non è ancora scaduto, attendo il secondo impulso
{
if (INAP == TRUE) // al secondo impulso attivo le uscite
{
OUT1 = 1;
OUT2 = 1;
OUT3 = 1;
delay_s (4);
OUT1 = 0;
OUT2 = 0;
delay_s (6);
OUT3 = 0;
}
}
}
} //end getinput
} // endwhile(1)
} // endmain
return 0;
Solo che adesso ho una sfilza di errori di compilazione, specie quelli riguardanti le dichiarazioni iniziali!!!
Executing: "C:\Program Files\HI-TECH Software\PICC\9.70\bin\picc.exe" --pass1 C:\Users\Angelo\MiDe\listato.c -q --chip=12F683 -P --runtime=default,+clear,+init,-keep,+osccal,-download,-resetbits,-stackcall,-stackwarn,+clib --opt=default,+asm,-debug,-speed,+space,9 --warn=0 --debugger=pickit2 --double=24 --float=24 --addrqual=ignore -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Warning [361] C:\Users\Angelo\MiDe\listato.c; 26.2 function declared implicit int
Executing: "C:\Program Files\HI-TECH Software\PICC\9.70\bin\picc.exe" --pass1 C:\Users\Angelo\Desktop\listato2.c -q --chip=12F683 -P --runtime=default,+clear,+init,-keep,+osccal,-download,-resetbits,-stackcall,-stackwarn,+clib --opt=default,+asm,-debug,-speed,+space,9 --warn=0 --debugger=pickit2 --double=24 --float=24 --addrqual=ignore -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Error [194] C:\Users\Angelo\Desktop\listato2.c; 17.31 ")" expected
Error [313] C:\Users\Angelo\Desktop\listato2.c; 17.31 function body expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 17.32 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 17.32 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 17.32 ";" expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 27.16 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 27.16 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 27.16 ";" expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 28.1 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 28.1 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 28.1 ";" expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 29.14 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 29.14 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 29.14 ";" expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 31.1 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 31.1 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 31.1 ";" expected
Error [194] C:\Users\Angelo\Desktop\listato2.c; 36.10 ")" expected
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 37.6 missing basic type; int assumed
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 38.6 missing basic type; int assumed
Error [285] C:\Users\Angelo\Desktop\listato2.c; 39.1 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 39.1 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 39.1 ";" expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 40.1 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 40.1 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 40.1 ";" expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 41.1 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 41.1 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 41.1 ";" expected
Error [285] C:\Users\Angelo\Desktop\listato2.c; 42.1 no identifier in declaration
Warning [374] C:\Users\Angelo\Desktop\listato2.c; 42.1 missing basic type; int assumed
Error [314] C:\Users\Angelo\Desktop\listato2.c; 42.1 ";" expected
Advisory[1] too many errors (21)
********** Build failed! **********