Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-04-2009, 16:43   #1
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
[Assembler] PIC16F84A

Salve,
ho fatto un programma per questo pic, in pratica c'ho attaccato un modulo radio che riceve segnali da un telecomando, sempre radio a 434 MHz

Quando premo un pulsante abilito il salvataggio del codice ricevuto.

Quando esco dalla programmazione (premendo nuovamente il tasto), i bit ricevuti vengono confrontati con quelli salvati in EEPROM prima.

Se combaciano deve attivare o disattivare un relè.

Il problema è che riceve (e lo so perché quando riceve faccio accendere un led), salva (e lo so perché quando salva fa una sequenza di lampeggii), ma non rilascia mai il relè.... perché il confronto è sempre sbagliato....

La mia domanda è:

come posso vedere quello che è stato salvato in EEPROM ???

Inoltre, c'è un simulatore HARDWARE compatimible con MPLAB di MicroChip ?

Grazie
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2009, 17:27   #2
Fabio7586
Senior Member
 
Iscritto dal: Dec 2007
Città: Napoli
Messaggi: 392
Quote:
Originariamente inviato da montegentile Guarda i messaggi
Salve,
ho fatto un programma per questo pic, in pratica c'ho attaccato un modulo radio che riceve segnali da un telecomando, sempre radio a 434 MHz

Quando premo un pulsante abilito il salvataggio del codice ricevuto.

Quando esco dalla programmazione (premendo nuovamente il tasto), i bit ricevuti vengono confrontati con quelli salvati in EEPROM prima.

Se combaciano deve attivare o disattivare un relè.

Il problema è che riceve (e lo so perché quando riceve faccio accendere un led), salva (e lo so perché quando salva fa una sequenza di lampeggii), ma non rilascia mai il relè.... perché il confronto è sempre sbagliato....

La mia domanda è:

come posso vedere quello che è stato salvato in EEPROM ???

Inoltre, c'è un simulatore HARDWARE compatimible con MPLAB di MicroChip ?

Grazie
Scusa ma non lo puoi scrivere in c il programma? potrebbe risultare più facile, e ci sarebbero molte più persone preparate sull'argomento!
Fabio7586 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 08:04   #3
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Potrei, ma il C per MPLab mi pare che non sia gratuito se non per la versione leggera.
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 09:03   #4
Fabio7586
Senior Member
 
Iscritto dal: Dec 2007
Città: Napoli
Messaggi: 392
Quote:
Originariamente inviato da montegentile Guarda i messaggi
Potrei, ma il C per MPLab mi pare che non sia gratuito se non per la versione leggera.
Guarda che tu puoi scriverlo dovunque il codice c, mica è protetto da copyright!
Apri un foglio di blocco note, scrivi il codice e salvalo .c, ed hai fatto, dopodichè lo compili in assembler con un compilatore gratuito;
Puoi usare meprog, Htlpic, etc.. vedi tu, non esistono solo prgrammi a pagamento!

Poi non so se già lo conosci, ma dai un'occhiata qui, la persona che lo gestisce è molto cortese e molto preparata http://www.fisertek.it/ e magari potrà darti una mano un po più specificamente!

Ultima modifica di Fabio7586 : 08-04-2009 alle 09:08.
Fabio7586 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 11:18   #5
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Ho controllato nell'istallazione di MPLAB ed il compilatore C di HI-TECH è già incluso, così ho creato un nuovo progetto e scritto esclusivamente questa riga:

#INCLUDE<pic1684.h>


Poi ho compilato ma mi restituisce questo errore:

HI-TECH PICC-Lite COMPILER (Microchip PICmicro) V9.60PL2
Copyright (C) 1984-2008 HI-TECH SOFTWARE
Error [939] ; . no file arguments


Che devo fare ???
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 11:36   #6
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Ok, risolto.
Provvedo a riscrivere il codice in C e poi lo posto.... a tra un po'
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 12:21   #7
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Mha...

Se uso

#include<pic1684.h> come setto i fuses ?

Li riesco a settare solo includendo pic.h ma non funzionano tutte le uscite
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 14:15   #8
Fabio7586
Senior Member
 
Iscritto dal: Dec 2007
Città: Napoli
Messaggi: 392
Quote:
Originariamente inviato da montegentile Guarda i messaggi
Mha...

Se uso

#include<pic1684.h> come setto i fuses ?

Li riesco a settare solo includendo pic.h ma non funzionano tutte le uscite
mmm... hai provato ad inserire la direttiva _CONFIG nel sorgente, perchè così facendo dovresti avere un .hex con all'interno informazioni per i fuses;

altrimenti potresti usare Icprog per leggere i fuses e vedere come sono impostati, cambiare il watch dog e riprogrammare il pic!


se invece intendi in quale modo vanno settati, ti posso dire sommariamente che generalmente vanno
# CodeProtect: No
# PowerUpTimer: Yes
# WatchDogDimer: No
# Oscillator: RS

ESEMPIO:

__CONFIG(HS & WDTDIS & PWRTEN & BORDIS & LVPDIS & DUNPROT & WRTDIS & DEBUGDIS & UNPROTECT );



I POSSIBILI VALORI PER IL PIC16F877 SONO (Ovviamente tu dovrai fare riferimento al tuo pic, controlla datasheet qui http://ww1.microchip.com/downloads/e...c/35007b.pdf):



*osc configurations*/
RC 0x3FFF // resistor/capacitor
HS 0x3FFE // high speed crystal/resonator
XT 0x3FFD // crystal/resonator
LP 0x3FFC // low power crystal/resonator

/*watchdog*/
WDTEN // enable watchdog timer
WDTDIS // disable watchdog timer

/*power up timer*/
PWRTEN // enable power up timer
PWRTDIS // disable power up timer

/*brown out reset*/
BOREN // enable brown out reset
BORDIS // disable brown out reset

/*Low Voltage Programmable*/
LVPEN // low voltage programming enabled
LVPDIS // low voltage programming disabled

/*data code protected*/
DP // protect data code
// alternately
DPROT // use DP
DUNPROT // use UNPROTECT

/* Flash memory write enable/protect */
WRTEN /* flash memory write enabled */
WRTDIS /* flash memory write protected/disabled */

/*debug option*/
DEBUGEN // debugger enabled
DEBUGDIS // debugger disabled

/*code protection*/
PROTECT /* protect program code */
UNPROTECT /* do not protect the code */

Non sono molto esperto, ma qualcosina la so! Fammi sapere!


P.S. Scusa se scrivo in c, ma l'assembler non l'ho mai potuto digerire!

Ultima modifica di Fabio7586 : 08-04-2009 alle 15:19.
Fabio7586 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 15:19   #9
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Col mio programmatore non posso settare direttamente i fuses.
Così, in Assembler, lo facevo attraverso una direttiva __CONFIG

Ma non funziona in C

Così come non funzionano quelli che mi hai appena suggerito...
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 15:36   #10
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Ho risolto per i fuses...

ho scritto questo codice qui:

Codice:
#include<pic1684.h>	

unsigned short i;

main()
{

TRISA=00011111;
TRISB=00000011;
PORTA=0;
PORTB=0;
RB2=1;
RB3=1;
while(1)
	{ //Inizio While
	RB7=0;
	Delay();
	RB7=1;
	} //Fine while
	
}

Delay()
{
for (i=0;i<10000;i++)
	{
	//Attesa
	}
}
Mi aspetterei RB2 e 3 (che sono 2 led collegati) accesi... e se ne accende uno solo.
Poi mi aspetterei un RB7 lampeggiante... e invece niente... che diavolo sbaglio ?
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 15:59   #11
Fabio7586
Senior Member
 
Iscritto dal: Dec 2007
Città: Napoli
Messaggi: 392
Quote:
Originariamente inviato da montegentile Guarda i messaggi
Ho risolto per i fuses...

ho scritto questo codice qui:

Codice:
#include<pic1684.h>	

unsigned short i;

main()
{
TRISA=00011111;
TRISB=00000011;
PORTA=0;
PORTB=0;
RB2=1;
RB3=1;
while(1)
	{ //Inizio While
	RB7=0;
	Delay();
	RB7=1;
	} //Fine while
	
}

Delay()
{
for (i=0;i<10000;i++)
	{
	//Attesa
	}
}
Mi aspetterei RB2 e 3 (che sono 2 led collegati) accesi... e se ne accende uno solo.
Poi mi aspetterei un RB7 lampeggiante... e invece niente... che diavolo sbaglio ?
Così il codice:

Codice:
#include<pic1684.h>	

unsigned short i;

main()
{

TRISA=0;
TRISB=0;
PORTB = 0b00001100;
while(1)
	{ //Inizio While
	PORTB = 0b00001100;
	Delay(1000);
	PORTB = 0b10001100;
	} //Fine while
	
}

Delay(1000)
{
for (i=0;i<10000;i++)
	{
	//Attesa
	}
}

Ultima modifica di Fabio7586 : 08-04-2009 alle 16:17.
Fabio7586 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 16:40   #12
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Non si accende il led collegato a PORTB,3.
Sono sicuro che funziona perché se carico il programma scritto in assembler si accende come da programma.

Ho fatto quest'altro spezzone di codice:

Codice:
main()
{
while(1)
	{ //Inizio While
	Tasto0();
	Radio();
	} //Fine while
}

Radio()
{
//Vede se riceve segnali da radio su PORTA0
	if (RA0==1)
	{	//Si riceve qualcosa dalla radio
		RB2=1;
		Delay();
		RB2=0;

	}
} //Fine Radio
Non ricevo niente, quando invece dovrei vedere un led accendersi di tanto in tanto o quando trasmetto io.
Anche qui: sono sicuro che funziona perché nel programma .asm si accende e riceve segnali.
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2009, 17:06   #13
Fabio7586
Senior Member
 
Iscritto dal: Dec 2007
Città: Napoli
Messaggi: 392
Quote:
Originariamente inviato da montegentile Guarda i messaggi
Non si accende il led collegato a PORTB,3.
Sono sicuro che funziona perché se carico il programma scritto in assembler si accende come da programma.

Ho fatto quest'altro spezzone di codice:

Codice:
main()
{
while(1)
	{ //Inizio While
	Tasto0();
	Radio();
	} //Fine while
}

Radio()
{
//Vede se riceve segnali da radio su PORTA0
	if (RA0==1)
	{	//Si riceve qualcosa dalla radio
		RB2=1;
		Delay();
		RB2=0;

	}
} //Fine Radio
Non ricevo niente, quando invece dovrei vedere un led accendersi di tanto in tanto o quando trasmetto io.
Anche qui: sono sicuro che funziona perché nel programma .asm si accende e riceve segnali.

Scusa eh, ma hai seguito il codice che ti ho postato più su?
non usare RB, ma PORTB con codice binario, che va scritto anteponendo 0b che sta ad indicare che successivamente c'è un codice binario; deve funzionare obbligatoriamente quello che ti ho scritto!
Rispondi e non mi dici nemmeno se hai provato, ma come te lo do un aiuto sennò?
Nel programma puoi scrivere quello che ti pare, ma le istruzioni da dare al pic sono ben precise! Io non conosco l'assembler, ma col c me la cavo, se nell'assembler usavi RB come porta, qui non va bene, perchè nella conversione in hex, non fai riferimento a nulla!
Fabio7586 è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2009, 00:13   #14
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Non ho provato ma proverò al più presto.
Comunque ho letto il file PIC1684.h e dentro ci sono le definizioni per PORTA, PORTB e pure RAx, RBx e puntano agli indirizzo giusti... quindi, secondo me, è la stessa cosa....
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2009, 08:52   #15
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Ho fatto la prova che chiedevi:

Codice:
#include<pic1684.h>	

unsigned short i;
bit	Flag1;
main()
{

//Procedura di inizio

TRISA=00011111;
TRISB=00000011;

PORTB=0;
Flag1=0;
PORTB=0b00001100;

Switch_Status();
while(1)
	{ //Inizio While
	Tasto0();
	Radio();
	} //Fine while
	
}
Tasto0() verifica la pressione di un tasto (e funziona correttamente accendendo un led su PORTB.7)

Radio() dovrebbe ricevere uno stato logico alto quando la ricevente 434 riceve un segnale da un telecomando che ho.... ma non riceve assolutamente niente.

E comunque l'uscita 3 di PORTB alla quale è collegato un LED giallo non si accende mai.

Non so dove sbaglio ma non mi pare ci sia molto da sbagliare...
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB

Ultima modifica di montegentile : 09-04-2009 alle 08:54. Motivo: errore di battitura
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2009, 09:17   #16
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 134
Quote:
Originariamente inviato da montegentile Guarda i messaggi
Ho fatto la prova che chiedevi:

Codice:
TRISB=00000011;
E comunque l'uscita 3 di PORTB alla quale è collegato un LED giallo non si accende mai.
Attenzione: quando tu fai TRISB=00000011; setti TRISB a 11 in decimale, cioè 1011 in binario. PORTB3 in questo modo è settato come input.

Dovresti sostituire con:

Codice:
TRISB=0b00000011;
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2009, 09:47   #17
Fabio7586
Senior Member
 
Iscritto dal: Dec 2007
Città: Napoli
Messaggi: 392
Quote:
Originariamente inviato da Volutomitra Guarda i messaggi
Attenzione: quando tu fai TRISB=00000011; setti TRISB a 11 in decimale, cioè 1011 in binario. PORTB3 in questo modo è settato come input.

Dovresti sostituire con:

Codice:
TRISB=0b00000011;
L'ho precisato anche più su, scrivendoglielo anche, devi anteporre 0b davanti agli indirizzi sennò non te li riconosce come binari!
esattamente gli avevo scritto così:
Codice:
#include<pic1684.h>	

unsigned short i;

main()
{

TRISA=0;
TRISB=0;
PORTB = 0b00001100;
while(1)
	{ //Inizio While
	PORTB = 0b00001100;
	Delay(1000);
	PORTB = 0b10001100;
	} //Fine while
	
}

Delay(1000)
{
for (i=0;i<10000;i++)
	{
	//Attesa
	}
}
Ma evidentemente non riesce a capirmi...boh?!

Ultima modifica di Fabio7586 : 09-04-2009 alle 09:50.
Fabio7586 è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2009, 10:15   #18
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Si, OK
Il problema era 0b anteposto a TRISA e TRISB

Faccio un po' di prove...
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2009, 10:37   #19
montegentile
Senior Member
 
L'Avatar di montegentile
 
Iscritto dal: Apr 2002
Città: Ariccia (Roma)
Messaggi: 1353
Allora...
Funziona senza problemi anche la dicitura

RBx=1;
dove x è chiaramente l'uscita che si vuole comandare.

Mi chiedo:

Un ciclo fatto così:

Delay()
{
for (i=0;i<1000;i++)
}

Quanto dura utilizzando un quarzo da 4MHz ?
Io credo che dovrebbe durare 1ms... è corretto o no ?

Ho bisogno di implementarmi alcune pause stabilite che vanno da 0.1 ms fino a 1 ms ma debbo poterne cambiare il valore se mi accorgo che la trasmissione arriva sporca.
__________________
MacBook Pro Retina 15" 2.3Ghz 16 GB Ram SSD 512 GB
montegentile è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2009, 11:26   #20
Fabio7586
Senior Member
 
Iscritto dal: Dec 2007
Città: Napoli
Messaggi: 392
Quote:
Originariamente inviato da montegentile Guarda i messaggi
Allora...
Funziona senza problemi anche la dicitura

RBx=1;
dove x è chiaramente l'uscita che si vuole comandare.

Mi chiedo:

Un ciclo fatto così:

Delay()
{
for (i=0;i<1000;i++)
}

Quanto dura utilizzando un quarzo da 4MHz ?
Io credo che dovrebbe durare 1ms... è corretto o no ?

Ho bisogno di implementarmi alcune pause stabilite che vanno da 0.1 ms fino a 1 ms ma debbo poterne cambiare il valore se mi accorgo che la trasmissione arriva sporca.
Allora, per sfruttare il quarzo devi includere la routine delay.h

Questa è una routine per 500ms, poi sistemala tu, è per un quarzo a 4Mhz
Codice:
;************************************************* ****************

;Routine di ritardo per mezzo secondo

;************************************************* ****************

DELAY1S bcf STATUS, RP0 ;Vado al banco 1

movlw .50 ;Carico il valore esadecimale in W 50

movwf TEMPO1 ;Lo metto nel registro di sistema

call DEL_10 ;Richiamo la routine DEL10

return ;Torno al programma chiamante



DEL_10 bcf INTCON, 2 ;Azzero il flag di overflow

movlw 0xd8 ;Carico il valore esadecimale in W

movwf OPTION_REG ;Lo metto nel timer



DEL10 btfss INTCON, 2 ;Controllo se è andato in overflow

goto DEL10 ;No. Torna al DEL10_1

decfsz TEMPO1, 1 ;Decremento il registro TEMPO1 e lascio il risultato

;nel registro TEMP

goto DEL_10 ;SI. Vado a DEL10

return ;Torno all programma chiamante

----Devi dichiarare TEMPO1
Questa è in assembler, controllati l'header per vedere quali sono le funzioni per c
Se invece, non riesci a sfruttare il quarzo, puoi sempre mettere un valore di 100 in delay --------> Delay(100), per ottenere una pausa di 100ms, che è una procedura gestita già da c.


alternativamente in c puoi vedere se funzione questo:

Codice:
#include <pic.h>
#define POLLING_PERIOD 200    //with 4Mhz processor, 200us   
#define TMR0_PRESCALER 1      //gives 1:4 prescaler
//the -3 factor is to make up for overhead
//the 0xff- factor is because the timer counts *up* to 0xff
//do not change this
#define TMR0_SETTING (0xff - (POLLING_PERIOD-3)) 

main()
{
   OPTION&=0B11000000;        //turn off bottom 6 bits to configure tmr0
   OPTION|=TMR0_PRESCALER;    //set prescaler to 1:4
   while(1)
   {
      TMR0=TMR0_SETTING;
      T0IF=0;        
      while(T0IF==0);   //wait 800us for flag to go high
      //OK, tmr0 has overflowed, flag T0IF has gone high
      //this code right here is executed every 800us
   }
}
o questo
Codice:
#include <pic.h>
#define POLLING_PERIOD 200    //with 4Mhz processor, 200us   
#define TMR0_PRESCALER 1      //gives 1:4, 800us
//the -5 factor is to make up for overhead
//the 0xff- factor is because the timer counts up to 0xff
#define TMR0_SETTING (0xff - (POLLING_PERIOD-5)) 
   
main()
{
OPTION&=0B11000000;        //turn off bottom 6 bits to configure tmr0
OPTION|=TMR0_PRESCALER;    //set prescaler to 1:4
//work out which interrupt enable bits to set by referring to diagram
T0IE=1;
GIE=1;
while(1)
{
      //idle, using interrupt to execute code
   }
}
void interrupt isr(void)
{
   if (T0IF)
   {
      TMR0=TMR0_SETTING;
      T0IF=0;
      //code right here is executed every 800us
   }
}
Fammi sapere!

Ultima modifica di Fabio7586 : 09-04-2009 alle 11:43.
Fabio7586 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
Meta valuta tagli fino al 20% della forz...
MacBook Neo sorprende iFixit: 'Non vedev...
Venus Optics presenta due nuovi obiettiv...
AMD pubblica una guida per eseguire Open...
Tomb Raider I-III Remastered arriva su A...
X fa marcia indietro: si adeguerà...
Framework e la crisi delle memorie: terz...
Doom è ovunque: perché il ...
NVIDIA aggiorna G-Sync Pulsar: migliorat...
Portatile gaming con RTX 5060 a 1.099€: ...
6G for dummies: al MWC 2026 il CEO di Qu...
Le RAM tornano a salire di prezzo: quest...
5 robot aspirapolvere bestseller al mini...
A 59 anni il mio primo hackathon: dieci ...
Come sfruttare le Offerte di Primavera p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v