|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
pic16f86 e problemino...
ciao sto programmando questo pic x realizzare una macchinetta distributrice di bevande e da mangiare. il mio problema è quando devo contare i soldi.
allora ci sono le monete e la carta, le due macchinette in cui si inseriscono i soldi mi danno fuori un impulso ogni 50 cent, io ho pensato conto gli impulsi e in base a quanti impulsi ottengo basta moltiplicare x 50 e ottengo i soldi inseriti. magari fosse cosi facile, in teoria funziona ma nella realtà funziona molto meno, ho realizzato questa parte di codice tramite un if: if (ingresso_soldi == 1) cont++; delayms(25); la pausa l'ho messa altrimenti x ogni impulso che mi da fuori la macchinetta dei soldi, ne vengono rilevati 4 o 5 in più. purtroppo funziona male, xchè mettendo x es. 2 euro, a volte mi conta 3 impulsi, a volte 4, a volte 5, invece dovrebbero essere 4! come posso fare x renderlo più preciso? qualcuno di voi saprebbe darmi una dritta? ciao e grazie.
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prova così:
int flag = 0; flag = 0; do { ingresso_soldi = leggi_stato_lettore(); if(!flag && ingresso_soldi == 1) flag = 1; } while (ingresso_soldi == 1); if(flag) cont++; |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2002
Messaggi: 97
|
e perchè non usi gli interrupt?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:04.



















