| NonSoloBolleDiAcqua
| Inviato il: 3/3/2013,22:16
|
Riverifico le velocità...strano che non funga a 9600...cioè il default...cmq la SPEED_XXX è un valore intero ...si può mettere un valore superiore o inferiore..cmq è strano quello che ti capita. Ciao Bolle
--------------- 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: 4/3/2013,00:52
|
Ho impostato la stampantina a 4800 ed ovviamente stampa, come prevedibile dato che vedevo le stesse cose con Hyperterminal... con la domotica, di default la faccio andare a 4800, e non ho ancora iniziato a fare prove ad altre velocità dato che mi serve prima il sw di cui ho parlato nell'altro thread... Ricordo però che, quando feci le prove con i transceiver CAN sui cavi posati nel cantiere, ho lavorato anche a velocità più alte (riletto il thread domotica, confermo, il codice l'avevo scritto a 9600, ma poco più avanti dico di avere fatto le prove a tutte le velocità), quindi c'è stato qualche inghippo in seguito...
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | MarKoZaKKa
| Inviato il: 8/3/2013,01:31
|
...hai per caso dato un'occhio alla questione velocità?
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | NonSoloBolleDiAcqua
| Inviato il: 8/3/2013,01:47
|
Ho solo verificato che la 9600 va bene...domani se ho tempo le controllo tutte!
--------------- 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: 8/3/2013,12:33
|
Allora sono pirla io... riprovo io e poi ti dico, tu hai abbastanza carne al fuoco. Dimmi solo come hai fatto la verifica, che la replico.
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | alessio287
| Inviato il: 8/3/2013,14:18
|
Ciao Bolle,
sto facendo delle verifiche su come il compilatore tratta le concatenazioni di stringa...
30 PRAGMA EXTERNAL_EEPROM
43 CONSTANT FINE_STRINGA_RASP="##" 51 CONSTANT SEP=";"
100 TM=12.345678 110 VB=0.123456 120 VF=24.12345678 130 AF=1.5678901 140 AB=3.456789 150 WF=AF*VF 160 WB=AB*VB 170 WI=WF-VB
2016 RASP_OUT=LEFT(TM,4)&SEP&LEFT(VB,5)&SEP&LEFT(AF,5)&SEP&LEFT(VB,5)&SEP&LEFT(AB,5)&SEP 2035 RASP_OUT=RASP_OUT&LEFT(WF,6)&SEP&LEFT(WB,6)&SEP&LEFT(WI,6)&FINE_STRINGA_RASP 2255 RASP_OUT="<sdwrite>"&DATE&SEP&RASP_OUT
3000 END
ho controllato il MAX_STACK (che è quello che fa casino se si sfonda)
Prima di riga 2016 --> 3 Dopo 2016 --> 209 Dopo 2035 --> 320 Dopo 2255 --> 320
############################
Ho cambiato il codice spezzando la riga 2016 in 2
30 PRAGMA EXTERNAL_EEPROM
43 CONSTANT FINE_STRINGA_RASP="##" 51 CONSTANT SEP=";"
100 TM=12.345678 110 VB=0.123456 120 VF=24.12345678 130 AF=1.5678901 140 AB=3.456789 150 WF=AF*VF 160 WB=AB*VB 170 WI=WF-VB
2016 RASP_OUT=LEFT(TM,4)&SEP&LEFT(VB,5)&SEP 2017 RASP_OUT=RASP_OUT&LEFT(AF,5)&SEP&LEFT(VB,5)&SEP&LEFT(AB,5)&SEP 2035 RASP_OUT=RASP_OUT&LEFT(WF,6)&SEP&LEFT(WB,6)&SEP&LEFT(WI,6)&FINE_STRINGA_RASP 2255 RASP_OUT="<sdwrite>"&DATE&SEP&RASP_OUT
3000 END
risultati: Prima 2016 --> MS 3 dopo 2016 --> 44 dopo 2017 --> 177 dopo 2035 --> 320 dopo 2255 --> 320
############################
Ho cambiato il codice spezzando la riga 2035 in 2
30 PRAGMA EXTERNAL_EEPROM
43 CONSTANT FINE_STRINGA_RASP="##" 51 CONSTANT SEP=";"
100 TM=12.345678 110 VB=0.123456 120 VF=24.12345678 130 AF=1.5678901 140 AB=3.456789 150 WF=AF*VF 160 WB=AB*VB 170 WI=WF-VB
2016 RASP_OUT=LEFT(TM,4)&SEP&LEFT(VB,5)&SEP 2017 RASP_OUT=RASP_OUT&LEFT(AF,5)&SEP&LEFT(VB,5)&SEP&LEFT(AB,5)&SEP 2035 RASP_OUT=RASP_OUT&LEFT(WF,6)&SEP&LEFT(WB,6)&SEP 2036 RASP_OUT=RASP_OUT&LEFT(WI,6)&FINE_STRINGA_RASP 2255 RASP_OUT="<sdwrite>"&DATE&SEP&RASP_OUT
3000 END
risultati: Prima 2016 --> MS 3 dopo 2016 --> 34 dopo 2017 --> 177 dopo 2035 --> 208 dopo 2035 --> 208 dopo 2255 --> 216
############################
Mie considerazioni:
ho l'impressione che il compilatore nel momento in cui si trova una istruzione di concatenzione si costruisca una serie di sottostringhe ed allochi (temporaneamente) uno spazio enorme (per l'operazione)... impressione come se allocasse uno spazio per ogni singola concatenazione e quindi lo spazio usato si sommi prima di arrivare alla fine...
Io mi sono capito poco... dimmi tu
Grazie Alessio287
| | | | Luca450Mhz
| Inviato il: 8/3/2013,14:37
|
Alessio, è proprio quello che accade! In qualche post Bolle lo spiega bene.. Soluzione: suddividere le concatenazioni "complesse" in più istruzioni, evitando così di sforare lo spazio disponibile.
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048. Batterie: 24 elementi trazione pesante 315Ah C5 48V.
| | | | NonSoloBolleDiAcqua
| Inviato il: 8/3/2013,14:41
|
CITAZIONE (alessio287 @ 8/3/2013, 14:18) ho l'impressione che il compilatore nel momento in cui si trova una istruzione di concatenzione si costruisca una serie di sottostringhe ed allochi (temporaneamente) uno spazio enorme (per l'operazione)... impressione come se allocasse uno spazio per ogni singola concatenazione e quindi lo spazio usato si sommi prima di arrivare alla fine...
Io mi sono capito poco... dimmi tu Infatti è così come dici, cioè come ho tentato di dirti in passato da qualche parte in questa sezione...ed ora penso che tu abbia capito . Il discorso è che a priori il PPTEA non sa quello che l'istruzione contiene...e quindi alloca mano mano tutto quello che arriva...e quando arriva la concatenazione delle stringhe è costretto ad avere STR1, STR2 + STR1STR2 etc etc.. in modo esponenziale.Quindi il metodo migliore ( sempre se non si ha a che fare con stringhe piccole) è spezzare in più righe la concatenazione....quindi lo spazio che tu vedi enorme è legato alla somma delle stringhe più le sue sottostringhe. Se vuoi entro nel dettaglio per cui accade questo...in prima battuta di basti pensare che anche un valore intero può essere trasformato in stringa...e a quel punto il povero PPTEA deve allocargli memoria a seconda della sua lunghezza...ma il PPTEA (come del resto tutti i micro) ha poca memoria...ma se si fa girare il codice in debug il compilatore avvisa dello sfondamento (stack di colore rosso con beep)...mentre il povero PPTEA non può dire nulla...lo si vede dalla variabile di errore.  Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | alessio287
| Inviato il: 8/3/2013,15:44
|
Ciao,
si vede che sono un pò duro... ma almeno ora mi è chiaro... ieri in treno ho riempito due fogli di calcoli...
Mi scuso se la cosa era già chiara... 
Grazie a tutti Alessio287
| | | | NonSoloBolleDiAcqua
| Inviato il: 8/3/2013,16:33
|
Scuse di cosa? Questi concetti vanno ripetuti a più non posso...poi guarda il lato positivo:andiamo incontro alla bella stagione...non farà più freddo!
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux). Un risultato se non è ripetibile non esiste (by qqcreafis).
| | | | alessio287
| Inviato il: 8/3/2013,16:44
|
,
sarò l'eschimese per sempre... 
Mi dici come si fa a postare il codice a colori?
Grazie Alessio287
prova...
CODICE 30 PRAGMA EXTERNAL_EEPROM
Modificato da alessio287 - 8/3/2013, 16:54
| | | | Luca450Mhz
| Inviato il: 8/3/2013,16:52
|
Usando il pulsante CODE in alto. Basta che incolli il codice dentro i tag code che mette in automatico il sistema..
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048. Batterie: 24 elementi trazione pesante 315Ah C5 48V.
| | | | MarKoZaKKa
| Inviato il: 24/4/2013,22:58
|
Già che ci siamo, impara ad usare anche lo SPOILER... oppure allega il codice in formato RAR o ZIP al messaggio
--------------- Tecnico qualificato in clownerie Windsurfer a tempo perso Slalomaro senza speranze
| | | | alessio287
| Inviato il: 24/4/2013,23:05
|
scusate maestri...... 
se mi spieghi come si fa ad allegare te ne sarei grato.... sapessi che rottura di (non posso dirlo) è comvertire sempre il codice EA in html...
Sono negato.... che ci vuoi fare... 
Bye Alessio287
| | | | alessio287
| Inviato il: 24/4/2013,23:20
|
Ci sono riuscitoooooooooooooooooo!!!!!!!!!!!!!!!!!!!
Alleluiaaaaaaaaaaaaaaa

Alessio287
PS: ad allegare i file
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|