Jump to content
PLC Forum


giolecce

programma per PIC 16F84A

Recommended Posts

giolecce

Buongiorno, ho un quesito da porvi, magari e una fesseria , ma non riesco proprio a venirne a capo.

Ho scritto un programma che mi permetta di accendere per un secondo un led sulla porta RB3 del pic 16f84A quando sulla porta RA3 arrivano 5 volt. E accenderlo nuovamente per un secondo quando la tensione sulla porta RA3 torna a zero.

Una volta compilato, sul simulatore funziona, ma caricato sul PIC funziona solo se la tensione sulla porta RA3 è a 5 volt, ma se ritorna a zero non ho l'effetto sperato, che invece ho se ritorna nuovamente  a 5 volt.

Riporto qui di seguito il programma il basic e il compilato in assembler. Aiutatemi a capire grazie.

 

Dim i As Bit
i = 0
TRISB = %00000000
PORTB = 0
inizio:

    If PORTA.3 = 1 And i = 0 Then
    PORTB.3 = 1
    WaitMs 1000
    PORTB.3 = 0
    i = 1
    Else
If PORTA.3 = 0 And i = 1 Then
    PORTB.3 = 1
    WaitMs 1000
    PORTB.3 = 0
    i = 0
    Endif
Endif
Goto inizio

End    

 

 

 ; Compiled with: PIC Simulator IDE - Registered Copy v6.83
; Microcontroller model: PIC16F84A
; Clock frequency: 8.0 MHz
;
;       The address of 'i' (bit) (global) is 0x18,0
; Begin
    R0L EQU 0xC
    R0H EQU 0xD
    R1L EQU 0xE
    R1H EQU 0xF
    R2L EQU 0x10
    R2H EQU 0x11
    R3L EQU 0x12
    R3H EQU 0x13
    R4L EQU 0x14
    R4H EQU 0x15
    R5L EQU 0x16
    R5H EQU 0x17
    ORG 0x0000
    BCF PCLATH,3
    BCF PCLATH,4
    GOTO L0002
    ORG 0x0004
    RETFIE
L0002:
; 1: Dim i As Bit
    BCF 0x18,0
; 2: i = 0
    BCF 0x18,0
; 3: TRISB = %00000000
    BSF STATUS,RP0
    CLRF 0x06
; 4: PORTB = 0
    BCF STATUS,RP0
    CLRF 0x06
; 5: inizio:
L0001:
; 6: 
; 7:     If PORTA.3 = 1 And i = 0 Then
    BTFSS 0x05,3
    GOTO L0003
    MOVLW 0x1F
    ANDWF STATUS,F
    BTFSC 0x18,0
    GOTO L0003
; 8:     PORTB.3 = 1
    BSF 0x06,3
; 9:     WaitMs 1000
    MOVLW 0xE8
    MOVWF R0L
    MOVLW 0x03
    MOVWF R0H
    CALL W001
; 10:     PORTB.3 = 0
    BCF 0x06,3
; 11:     i = 1
    BSF 0x18,0
; 12:     Else
    GOTO L0004
L0003:    MOVLW 0x1F
    ANDWF STATUS,F
; 13: If PORTA.3 = 0 And i = 1 Then
    BTFSC 0x05,3
    GOTO L0005
    MOVLW 0x1F
    ANDWF STATUS,F
    BTFSS 0x18,0
    GOTO L0005
; 14:     PORTB.3 = 1
    BSF 0x06,3
; 15:     WaitMs 1000
    MOVLW 0xE8
    MOVWF R0L
    MOVLW 0x03
    MOVWF R0H
    CALL W001
; 16:     PORTB.3 = 0
    BCF 0x06,3
; 17:     i = 0
    BCF 0x18,0
; 18:     Endif
L0005:    MOVLW 0x1F
    ANDWF STATUS,F
; 19: Endif
L0004:    MOVLW 0x1F
    ANDWF STATUS,F
; 20: Goto inizio
    GOTO L0001
; 21: 
; 22: End
L0006:    GOTO L0006
; 23: 
; 24: 
; 25: 
; End of program
L0007:    GOTO L0007
; Waitms Routine
W001:    MOVF R0L,F
    BTFSC STATUS,Z
    GOTO W002
    CALL W003
    DECF R0L,F
    NOP
    NOP
    NOP
    NOP
    NOP
    GOTO W001
W002:    MOVF R0H,F
    BTFSC STATUS,Z
    RETURN
    CALL W003
    DECF R0H,F
    DECF R0L,F
    GOTO W001
W003:    MOVLW 0x0C
    MOVWF R2H
W004:    DECFSZ R2H,F
    GOTO W004
    NOP
    NOP
    MOVLW 0x26
    MOVWF R1L
W005:    DECFSZ R1L,F
    GOTO W006
    CALL W007
    CALL W007
    NOP
    NOP
    RETURN
W006:    CALL W007
    GOTO W005
W007:    MOVLW 0x0D
    MOVWF R2L
W008:    DECFSZ R2L,F
    GOTO W008
    NOP
    RETURN
; End of listing
    END
                                        

Edited by giolecce

Share this post


Link to post
Share on other sites

del_user_97632

Cosi a vederlo il programma non pare sbagliato da non funzionare.

Magari all'inizio setta anche TRISA, tutto come input, per sicurezza, qualcosa tipo,

 

TRISA = 0xff;

 

Poi, visto che sul simulatore funzona, sei sicuro che RA3 scende e resta proprio a 0V ? Misura sul pin del micro nel caso

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini

Oltre a

43 minuti fa, _angelo_ ha scritto:

TRISA = 0xff;

 

metti anche un resistore (4k7 o simile, non è critico) tra RA3 e zero, così sei sicuro che la porta è a zero o a +5.

 

pensavo che il 16f84 non venisse più usato,era vecchio gia alla fine del secolo scorso.:smile:

Share this post


Link to post
Share on other sites
giolecce

Scusate, in effetti dovrei metterci una resistenza sul piedino RA3, ma il discorso è che ponendo a livello alto la porta RA3 il led si accende e la variabili di controllo viene settata a 1. quando porto RA3 a zero la variabile di controllo ritorna sullo zero e questo si evince dal fatto che  riportando il livello alto sulla porta RA3 il led si riaccende.

Share this post


Link to post
Share on other sites
del_user_97632

mmm pero con quegli else qualcosa non torna.  Usa sempre i tag codice e tabula bene se no non si capisce.

Prova per favore questa lieve variante che controlla sempre entrambe le condizioni della porta:

 

Dim i As Bit
i = 0
TRISB = %00000000
TRISA = %11111111
PORTB = 0
inizio:
If PORTA.3 = 1 Then
	If i = 0 Then
		PORTB.3 = 1
		WaitMs 1000
		PORTB.3 = 0
		i = 1
	Endif
Endif
If PORTA.3 = 0 Then
	If i = 1 Then
		PORTB.3 = 1
		WaitMs 1000
		PORTB.3 = 0
		i = 0
	Endif
Endif
Goto inizio

End     

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
max.bocca

La versione sopra citata mi piace di più.

Verifica bene il livello in ingresso. 

Se guardi il data sheet per ogni porta. Ci indicati i valori per sicuramente 0 e 1, poi ci sono porte b che puoi attivare la resistenza di pull up, quelle un uscita versione open collettor drain e trigger

 

Share this post


Link to post
Share on other sites
del_user_97632

:) a naso lui ha fatto un "nested" if dentro a un altro if che funziona solo in una certa combinazione/tempistica di attivita' in RA3 .

Io penso (e spero) che il mio esempio sopra funzioni.

 

 

 

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
giolecce

Geazie per le risposte, ho inserito la resistenza da 4,7 K e ho usato il programma suggerito da angelo, ma il comportamento del mio Pic è rimasto identico.

Share this post


Link to post
Share on other sites
Livio Orsini
14 ore fa, giolecce ha scritto:

ma il discorso è che ponendo a livello alto la porta RA3 il led si accende e la variabili di controllo viene settata a 1. quando porto RA3 a zero la variabile di controllo ritorna sullo zero e questo si evince dal fatto che  riportando il livello alto sulla porta RA3 il led si riaccende.

 

No.

L'uscita va a zero perchè la porti a zero dopo 1".

Il problema è che non viene riconosciuta l'andata a zero dell'ingresso, viene riconosciuto solo l'andata ad uno dell'ingresso.

Il test sullo zero di ingresso deve essere fatto in modo che riconosca che in precedenza l'ingresso fosse ad uno.

Il test andrebbe fatto non direttamente sull'ingresso, ma sull'ingresso e sulle memorie dello stato precedente.

ora non ho tempo, ma se non risolvi prima vedo, forse nel pomeriggio, di scriverti una traccia.

Share this post


Link to post
Share on other sites
del_user_97632

 

4 ore fa, giolecce ha scritto:

Geazie per le risposte, ho inserito la resistenza da 4,7 K e ho usato il programma suggerito da angelo, ma il comportamento del mio Pic è rimasto identico.

 

Io direi di fare un piccolo loop che rilveva solo RA3 da 1 -> 0.

 

Dunque, manualmente, ma mai con corto secco, ma  tramite una resistenza magari di 100Ohm, porta RA3 da 5V a 0 (connetti la resistenza da RA3 prima a 5V e poi a massa).

 

Magari posta uno schemino elettrico di quello che stai facendo, che forse il problema e' banalmente hw.

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
giolecce
6 ore fa, Livio Orsini ha scritto:

 

No.

L'uscita va a zero perchè la porti a zero dopo 1".

Il problema è che non viene riconosciuta l'andata a zero dell'ingresso, viene riconosciuto solo l'andata ad uno dell'ingresso.

Il test sullo zero di ingresso deve essere fatto in modo che riconosca che in precedenza l'ingresso fosse ad uno.

Il test andrebbe fatto non direttamente sull'ingresso, ma sull'ingresso e sulle memorie dello stato precedente.

ora non ho tempo, ma se non risolvi prima vedo, forse nel pomeriggio, di scriverti una traccia.

Si l'uscita la porto a zero dopo un secondo, ora supponendo di eliminare il  blocco del secondo IF (quella che controlla se l'ingresso è a zero) in teoria pur portando a zero l'ingresso e poi riportarlo a 1il led non si dovrebbe accendere questo perchè la condizione sul primo IF non è più soddisfatta in quanto i=1. Devo controllare questo comportamento perchè se risultasse vero allora significa che nella seconda IF il ciclo entra e  a questo punto  non capisco perchè non accende il led. 

Share this post


Link to post
Share on other sites
giolecce
3 ore fa, _angelo_ ha scritto:

 

 

Io direi di fare un piccolo loop che rilveva solo RA3 da 1 -> 0.

 

Dunque, manualmente, ma mai con corto secco, ma  tramite una resistenza magari di 100Ohm, porta RA3 da 5V a 0 (connetti la resistenza da RA3 prima a 5V e poi a massa).

 

Magari posta uno schemino elettrico di quello che stai facendo, che forse il problema e' banalmente hw.

 

 

la resistenza che uso e di 4k7 così come consigliato da Livio, farò la prova che dici tu e vi farò sapere.

Share this post


Link to post
Share on other sites
Livio Orsini
5 ore fa, _angelo_ ha scritto:

ma  tramite una resistenza magari di 100Ohm

 

Se non ci sono problemi di immunità ai disturbi è inutile usare resistori di così basso valore. Comunque si può fare il corto franco tra ingresso e zero volt senza alcun problema per la porta se è configurata da ingresso. Basta osservare come è fatta fisicamente. Il resistore da qualche kilo serve per dare un minimo di ancoraggio a zero quando si lascia l'ingresso libero.

In questo caso non è questione di Hw ma di Sw.

Come ho scritto prima il test non va fatto sul livello, ma andrebbe fatto sul fronte.

Visto che si usa un ritardo bloccante per tenere acceso il LED si semplifica un po' il test.

Setto un flag quando l'ingresso va "1"; a LED spento verifico se l'ingresso è a "0" e se la memoria di "1" è alta. Se le 2 condizioni sono vere, abbasso il flag di "1", alzo il flag di "0" commando l'accensione del LED.

Ripeto un test simile per la condizione di ingresso "1".

Edited by Livio Orsini

Share this post


Link to post
Share on other sites
del_user_97632
1 ora fa, Livio Orsini ha scritto:

Se non ci sono problemi di immunità ai disturbi è inutile usare resistori di così basso valore. Comunque si può fare il corto franco tra ingresso e zero volt senza alcun problema per la porta se è configurata da ingresso.

Non per piantar grane eh :), ma mio consiglio spassionato, per quel che vale, e' che e' buona prassi operare sempre con resistori, e corti secchi specie a Vcc sul pin del micro non farli mai. A chi e' all'inizio il consiglio lo do sempre. Se la porta e' ben configurata non succede nulla, ma se si fa un corto secco sulla linea "output con output" e l'alimentatore e' in grado di darti correnti elevate, puoi fare danni (gia successo) e la resistenza puo salvare al porta. E' solo una prassi.

 

Si, fare il test su fronte 1->0 o 0->1 ovviamente.

 

L'ingresso RA3 e' TTL, il valore LOW viene rilevato passando da un valore piu alto di 0.8 a piu bassi di 0,8V circa. Livello alto quando si va da < 2.4V a > 2.4V.

 

Io resto convinto che il problema e' hardware, cioe che giolecce, da livello alto, non scende sotto agli 0.8V.  anche perche' ha gia provato 2 programmi, e il primo gia funzionava sul simulatore.

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini
21 minuti fa, _angelo_ ha scritto:

E' solo una prassi.

 

Certo è una prassi; un po' come mettere calzoni di una taglia in meno, cinta e bretelle per assicurarsi di non sbracare:smile:

 

Comunque che tu tenga la porta a potenziale 0 con un corto franco, con un resistore da 4k7 o 100 ohm il risultato, per il micro, è identico, ovvero valore logico "0"

25 minuti fa, _angelo_ ha scritto:

da livello alto, non scende sotto agli 0.8V. 

 

Con 0.8V deve darti sicuramente livello basso.

Non ho sottomano il data sheet di questo PIC, quindi cito a memoria, ma con alimentazione di 5V la sicurezza di alto è >= 3V e livello basso <=2V.

Chiaramente più il segnale si avvicina ai limiti di alimentazione, più migliora l'immunità ai disturbi.

 

28 minuti fa, _angelo_ ha scritto:

e il primo gia funzionava sul simulatore.

 

Tra simulare e fare .... c'è di mezzo il mare.

Il simulatore lavora su condizioni teoriche e nion sempre le condizioni pratiche sono ideali. Ad esempio non ci sono spikes e rimbalzi.

Poi bisogna vedere come è stato fatto il simulatore.

 

Potrò anche sbagliarmi, perchè devo basarmi solo sul racconto, ma vista la semplicità del circuito ed iol micro stracollaudato di problemi Hw non cedo possano essercene poi molti.

Share this post


Link to post
Share on other sites
del_user_97632
1 ora fa, Livio Orsini ha scritto:

Certo è una prassi; un po' come mettere calzoni di una taglia in meno, cinta e bretelle per assicurarsi di non sbracare:smile:

Io ho bruciato un paio di chip, anni fa, era un codec, bastato toccare con una sonda oscilloscopio 5V e un pin vicino del chip. Poi grazie al fatto che ho una certa esperienza ho sostituito il QFP su scheda cliente, lavoro certosino e perfetto, e non se n'e' accorto nessuno. Dipende da quanti A puo dare l'alimentazione a monte, dalla corrente di "sink" supportata dal chip :) da quella volta io uso una resistenza per operazioni di prova sui pin, e non sono l'unico. 1000 100 10 insomma, il valore si sceglie a sconda del caso.

 

1 ora fa, Livio Orsini ha scritto:

Non ho sottomano il data sheet di questo PIC, quindi cito a memoria, ma con alimentazione di 5V la sicurezza di alto è >= 3V e livello basso <=2V.

MI pare che i valori che citi sono quelli standard CMOS, datasheet dice che RA3 in input non e' CMOS ma TTL e i valori ndicati sopra sono letti dal datasheet, lui dovrebbe scendere sotto 0.8.,

 

Mah, non abbiamo dati certi, per ora solo "teoremi" da confermare. Vediamo se giolecce si fa vivo. Unia cosa certa e' che se non la pianto di giocare e entro domani non concludo qualcosa di buono, con la crisi in arrivo, saro tra i primi a volare a casa.

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini

Scusa ma in oltre 40 anni di lavoro con i micro non mi è mai capitato di sfondare una porta di ingresso per una chiusura a zero. Forse sarò stato molto fortunato. 

 

Non ho il data street sottomano, però il riferimento a tal riguardo riguarda la capacità di carico

Alcune porte hanno capacità di carico come, altre ttl.

Ho verificato spesso, per altri motivi  più legati all'immunità, e i livelli son quelli che ho elencato prima

Share this post


Link to post
Share on other sites
del_user_97632
30 minuti fa, Livio Orsini ha scritto:

Scusa ma in oltre 40 anni di lavoro con i micro non mi è mai capitato di sfondare una porta di ingresso per una chiusura a zero. Forse sarò stato molto fortunato. 

Sei stato bravo ed hai dimensionato bene le alimentazioni.

 

Io in 35 tra lavoro e hobby di sicuro ho in attivo un codec (incandescente) e mi pare un AVR anni fa, in quel caso probabilmente sarebbe bastato usare un 78L05 e non un 7805CV che avevo usato perche non avevo altro.  :)  Io non ho grandi lauree ma 5V dall'alimentazione contro un output a 0 e' un corto secco sulla porta.

 

Per altro tu sai che di corti a massa per errore io sono un campione indiscusso. :)

 

 

 

 

 

 

 

 

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
giolecce

dal punto di vista HW è tutto ok, ho anche resistenza di pull-down da 4.7 k sull'ingresso RA3. Ho fatto un ulteriore prova dal listato ho eliminato il secondo IF quindi il listato diventa questo:

 

Dim i As Bit
i = 0
TRISB = %00000000
TRISA = %11111111
PORTB = 0
inizio:
If PORTA.3 = 1 Then
    If i = 0 Then
        PORTB.3 = 1
        WaitMs 1000
        PORTB.3 = 0
        i = 1
Endif
Endif

Goto inizio

End          

 

Risultato e che portando a 1 il livello della porta RA3 il led

 si accende per 1 secondo poi si spegne tutto ok. Ora se riporto il l'ingresso da 1 a zero e poi nuovamente a 1 il led si riaccende, ma così non dovrerbbe essere perchè la condizione i=0 non dovrebbe essere verificata.

poi  Livio scusami ma non ho capito cosa intendi .....

7 ore fa, Livio Orsini ha scritto:

Setto un flag quando l'ingresso va "1"; a LED spento verifico se l'ingresso è a "0" e se la memoria di "1" è alta. Se le 2 condizioni sono vere, abbasso il flag di "1", alzo il flag di "0" commando l'accensione del LED.

Ripeto un test simile per la condizione di ingresso "1".

 

Share this post


Link to post
Share on other sites
del_user_97632

Tu dici che "i" torna a 0.

 

C'e' un solo modo per cui questo possa avvenire. Che il micro si resetta . Forse perche' non pulisci il "watchdog" nel loop Wait1000, ma non credo, perche' dici che il led sta acceso un secondo, oppure si resetta per qualche altro motivo,

 

Prova ad aggiunfgere al tuo programma:

 

DEVICE 16F84A

DIM i  as BYTE     (invece di DIM i  as Bit)

CONFIG  WDT_OFF, qui forse devi specificare altre opzioni

 

MCLR se e' libero portalo a VCC (con una resistenza, metti 1K o 4K7).

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini

Per prima cosa sono andato a rileggermi il datasheet del 16F84A e ha raghone _angelo_ il livello di "0" deve essere <= 0.8v (0.9V per ingressi con schmittrigger).

 

6 ore fa, _angelo_ ha scritto:

MCLR se e' libero portalo a VCC

 

Mettiun condensatore da 0.1µF verso zero ed una 4k7 verso il +5V, così sei sicuro del reset all'accensione.

Togli WDT, che è l'ultima cosa da settare, solo quando sei sicuro che tutto gira.

 

Misura lòa tensione che hai fisicamente sulla porta quando lametti a zero.

Il resistore di pull-dawn serve solo quando l'ingresso è libero e flottante, ma per avere la certezza dello zero o c'è una porta che chiude a zero e c'è un contatto meccanico che fa la stessa cosa.

Share this post


Link to post
Share on other sites
giolecce
Il 4/3/2020 alle 00:38 , _angelo_ ha scritto:

Tu dici che "i" torna a 0.

 

C'e' un solo modo per cui questo possa avvenire. Che il micro si resetta . Forse perche' non pulisci il "watchdog" nel loop Wait1000, ma non credo, perche' dici che il led sta acceso un secondo, oppure si resetta per qualche altro motivo,

 

Prova ad aggiunfgere al tuo programma:

 

DEVICE 16F84A

DIM i  as BYTE     (invece di DIM i  as Bit)

CONFIG  WDT_OFF, qui forse devi specificare altre opzioni

 

MCLR se e' libero portalo a VCC (con una resistenza, metti 1K o 4K7).

 

 

 

 

tutto fatto ma il problema rimane.....

 

Ragionando sul listato:

 

Dim i As Bit
i = 0
TRISB = %00000000
TRISA = %11111111
PORTB = 0
inizio:
If PORTA.3 = 1 Then
    If i = 0 Then
        PORTB.3 = 1
        WaitMs 1000
        PORTB.3 = 0
        i = 1
Endif
Endif

Goto inizio

End          

 

se tenendo l'ingresso a 1,e se la variabile i paradossalmente non fosse settata a 1 io vedrei praticamente il led sempre acceso, ma questo non avviene perchè il led rimane acceso per un secondo e poi s i spegne e rimane spento fin quando non porto di nuovo l'ingresso prima su zero e poi su 1....e questo per il listato in esame non deve avvenire visto che la condizione IF i=0 no è soddisfatta ......è come se in effetti avvenisse un reset.

penso che probabilmente il PIC è danneggiato, ne ho comprato un altro , appena mi arriva rifaccio tutte le prove.

Share this post


Link to post
Share on other sites
del_user_97632

Il listato e' semplice, deve funzonare.

 

Per un programma di poche righe puoi anche scrivere direttamente in assembly, cosi elimini ogni dubbio di compilazione (che non credo ve ne siano, ma io scriverei certamente in assembly).

 

Sei concentrato nel sotware, ma devi postare lo schema elettrico che usi completo d'alimentaizone. Ora, seriamente, fin che non lo fai, io mi chiamo fuori.

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini
4 ore fa, giolecce ha scritto:

tutto fatto ma il problema rimane.....

 

Hai misurato fisicamente sulla porta del PIC se il livello passa da 0V a 5V e viceversa? A volte quelloche si da per scontato non lo è.

 

4 ore fa, giolecce ha scritto:

....è come se in effetti avvenisse un reset.

 

E l'effetto tipico di quando il programma va a ranocchie.

Il program counter va ad una locazione vuota o con un codice assurdo, da li prosegue incrementandosi sino a quando fa il giromcompleto passando per lo zero.

Con che compilatore stai lavorando?

Che programmatore usi?

Share this post


Link to post
Share on other sites
giolecce
Il 5/3/2020 alle 14:46 , _angelo_ ha scritto:

Il listato e' semplice, deve funzonare.

 

Per un programma di poche righe puoi anche scrivere direttamente in assembly, cosi elimini ogni dubbio di compilazione (che non credo ve ne siano, ma io scriverei certamente in assembly).

 

Sei concentrato nel sotware, ma devi postare lo schema elettrico che usi completo d'alimentaizone. Ora, seriamente, fin che non lo fai, io mi chiamo fuori.

 

 

 

 

allego lo schema elettrico

 

21 ore fa, Livio Orsini ha scritto:

 

Hai misurato fisicamente sulla porta del PIC se il livello passa da 0V a 5V e viceversa? A volte quelloche si da per scontato non lo è.

 

 

E l'effetto tipico di quando il programma va a ranocchie.

Il program counter va ad una locazione vuota o con un codice assurdo, da li prosegue incrementandosi sino a quando fa il giromcompleto passando per lo zero.

Con che compilatore stai lavorando?

Che programmatore usi?

...misurato tutto ok.

Immagine.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...