NonSoloBolleDiAcqua
| Inviato il: 25/02/2015 15:16:51
|
Nulla da fare, funzica!
Ho scritto due programmi separati, prima uno scrive ( ho aumentato il valore di scrittura di una unità per renderlo diverso dalla scrittura precedente) ...poi stacco tutto riavvio e carico il programma di lettura...non riscontro problemi.
SCRITTURA
PRAGMA ADVANCED
PRAGMA INTERNAL_EEPROM
'RIMUOVERE IL COMMENTO ALLA LINEA CORRISPONDENTE ALLA MEMORIA DA TESTARE
MAXMEM=2047 'MEMORIA 2K 24c16
'MAXMEM=4095 'MEMORIA 4K 24c32
'MAXMEM=8191 'MEMORIA 8K 24c64
'MAXMEM=16383 'MEMORIA 16K 24c128
'MAXMEM=32767 'MEMORIA 32K 24c256
EEXTERNAL=1
USBOUT= "Attesa scrittura"& CR_LF
FOR a=1 TO maxmem
CELL=A
W=A MOD 255 +1
WEEPROM=W
NEXT a
USBOUT= "Fine scrittura"& CR_LF
END
LETTURA
PRAGMA ADVANCED
PRAGMA INTERNAL_EEPROM
'RIMUOVERE IL COMMENTO ALLA LINEA CORRISPONDENTE ALLA MEMORIA DA TESTARE
MAXMEM=2047 'MEMORIA 2K 24c16
'MAXMEM=4095 'MEMORIA 4K 24c32
'MAXMEM=8191 'MEMORIA 8K 24c64
'MAXMEM=16383 'MEMORIA 16K 24c128
'MAXMEM=32767 'MEMORIA 32K 24c256
CLR CYC
EEXTERNAL=1
WHILE TRUE
CYC++
USBOUT= " START Cyc: " & CYC & CR_LF
USBOUT= "Attesa check"& CR_LF
FOR a=1 TO maxmem
CELL=A
W=A MOD 255 +1
R=REEPROM
IF R <> W THEN :ERROR
NEXT a
USBOUT= " Fine Check:OK!"& CR_LF
LOOP
:ERROR
OUTBIT(15)=1
USBOUT="ERR@CELL:" & A & " LOOP:" & CYC
END
Codici in EABasic : DOWNLOAD
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| |
| | MarKoZaKKa
| Inviato il: 26/02/2015 10:00:39
|
Un risultato se non è ripetibile non esiste (by qqcreafis)...
A questo punto è qualcosa di locale... Appena riesco provo con questi codici, se fosse così, meglio! Grazie!
"Giuda ballerino!"
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 26/02/2015 19:36:47
|
ok...domani partorisco la nuova versione!
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | MarKoZaKKa
| Inviato il: 27/02/2015 22:03:43
|
...se ti dico che continua a non funzionarmi nulla? errore alla prima cella del primo ciclo, con tutti i tuoi codici.
Ed utilizzo le stesse schede con le quali ho sviluppato tutti i miei codici...
Mah!
Modificato da MarKoZaKKa - 27/02/2015, 22:16:49
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 28/02/2015 07:44:40
|
Chve versione usi?Se è l'ultima....allora vuol dire che è la memoria che non va...
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | MarKoZaKKa
| Inviato il: 06/03/2015 10:49:54
|
mi succede con due eeprom diverse, ed il codice che scrive e rilegge subito non dà errori, quindi presumo che la mem sia ok, oppure quel codice non fa quello che dovrebbe...
mi mandi il file .hex del firmware, proprio quello che usi tu, non farmelo scaricare dal web, che già ce l'ho... se riesco nel WE faccio prove con diverse versioni di fw...
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | | | | ecologix1971
| Inviato il: 07/03/2015 07:45:25
|
Scusate...avrei una piccola domanda, forse e' normale...ditemi voi:
Se nel debug scrivo:
Start_hour=10
Start_minute=00
Stop_hour=10
Stop_minute=05
E mettiamo il caso che sono le 10:02
E scrivo ancora
If ((mid(date,10,2)*60)+mid(date,13,2)) <= ((stop_hour*60)+stop_minute) and ((mid(date,10,2)*60)+mid(date,13,2)) >= ((start_hour*60)+start_minute) then :yes
:no
Usbout="no"
End
:yes
usbout="yes"
End
Il debug mi risponde in modo corretto dicendomi yes.
Se trasferisco nel pic invece no!
Se pero', l'ora ed i minuti attuali, li racchiudo in una variabile esempio:
Instant_time=((mid(date,10,2)*60)+mid(date,13,2))
e riscrivo quindi:
If instant_time <= ((stop_hour*60)+stop_minute) and instant_time >= ((start_hour*60)+start_minute) then :yes
In questo modo funziona sia nel debug che nel pic.
l'intento era quello di rispiarmare una variabile...
Ma purtroppo cosi' non e' stato.
ciao eco | | | | MarKoZaKKa
| Inviato il: 18/03/2015 13:59:48
|
Ho notato anch'io che ci sono problemi con espressioni lunghe, ed ho risolto splittando ed usando una variabile "tuttofare" che riciclo diverse volte nel codice che sto scrivendo, ad esempio la classica x dei cicli for/next...
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | ecologix1971
| Inviato il: 19/03/2015 10:09:18
|
Ciao marko, grazie per la risposta.
Quella della variabile tuttofare e' un sistema che uso anch'io, ma in altre occasioni.
Qui invece chiedo al pic di controllarmi costantemente l'ora attuale e confrontarla con una determinata fascia oraria preimpostata e si trova in una routine principale.
Ciao eco | | | | MarKoZaKKa
| Inviato il: 19/03/2015 13:29:59
|
invece di convertire l'ora hh:mm:ss, perchè non imposti l'orologio per fornirti l'ora in secondi con FDATE=4? se poi ti serve avere il formato esteso in altre parti del codice, reimposti con FDATE=0; il tuo instant_time diventa date/60...
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|