Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-06-2009, 12:23   #1
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
[C] problemi

sto passando dall'assembler al C. forse sono ancora troppo rivolta al basso livello ....
non riesco a controllare se un parametro è o meno nel range... ho fatto e rifatto quella routine in mille modi, ma non riesco a capire....

richiamo una procedura di controllo, faccio il controllo, poi al ritorno il test una scelta. sono stata attenta e mi pare che sia semplice....dovrebbe andare liscio, invece non funziona ç_ç

Codice:
long controllo(long param1, long param2)
{        //passabanda!!!! -->  1<param1<25 
timer = 200;  // carico timer = 2 secondi
// se param1 > 25 -> overbanda + se param <1  -> underbanda
if ((param1 >25) && (param1<1))  
    {
      scrivo_errore();    //scrivo "errore" a video
     param2 = 21;         //segnalo errore
    } 		 
else	buzzer = 1; // sono in "banda" faccio un bip!
return(param2); 	   //trasmetto param2 al main
}

[...main...]
case 5: //controllo
controllo(param);
if (tasto==x) stato =1;      //torno indietro
if (param2!=21) stato++;  //vado oltre
else break;
grazie a chi mi darà una dritta!!^^

Ultima modifica di lefermops : 17-06-2009 alle 12:32.
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 12:32   #2
Volutomitra
Member
 
Iscritto dal: Feb 2006
Messaggi: 134
Quote:
Originariamente inviato da lefermops Guarda i messaggi
if ((param1 >25) && (param1<1))
Come fa param1 a essere contemporaneamente maggiore di 25 e minore di 1?

Forse è meglio un OR...
Volutomitra è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 12:34   #3
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
si, è un OR.... ho sbagliato a scrivere...

param1 lo setto nel main....
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 12:45   #4
qwerty86
Senior Member
 
L'Avatar di qwerty86
 
Iscritto dal: Jun 2007
Messaggi: 1232
ci sono un paio di problemi :

-la funzione controllo prende due parametri , ma tu nel main ne passi solo uno
- cosa intendi con non funziona? non compila? o non esegue quello che vuoi ?
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni

Ultima modifica di qwerty86 : 17-06-2009 alle 12:47.
qwerty86 è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 12:52   #5
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
a controllo passo i due parametri che nell'ordine in cui li ho dichiarati nella procedura.

il problema è che non riesco ad ottenere quello che voglio...

se metto un valore alla mia variabile fuori dalla "banda di valenza" bippa lo stesso, e funziona come se fosse il valore "buono".

Codice:
long controllo(long param1, long param2)
{        //passabanda!!!! -->  1<param1<25 
timer = 200;  // carico timer = 2 secondi
// se param1 > 25 -> overbanda + se param <1  -> underbanda
if ((param1 >25) || (param1<1))  
    {
      scrivo_errore();    //scrivo "errore" a video
     param2 = 21;         //segnalo errore
    } 		 
else if ((param1<25)&&(param1>1)) buzzer = 1; // sono in "banda" faccio un bip!
return(param2); 	   //trasmetto param2 al main
}

[...main...]
case 5: //controllo
controllo(param1, param2);
if (tasto==x) stato =1;      //torno indietro
if (param2!=21) stato++;  //vado oltre
else break;

Ultima modifica di lefermops : 17-06-2009 alle 12:55.
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 12:56   #6
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
fai restituire alla funzione un valore ma non lo assegni a niente, così lo perdi. non dovresti fare

param2 = controllo(param1, param2);

?

EDIT anche l'else if è sbagliato: devi mettere un or. inoltre se fai uso di >=, <= ti basta un else senza if.

Ultima modifica di ndakota : 17-06-2009 alle 13:02.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 13:11   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da lefermops Guarda i messaggi
Codice:
long controllo(long param1, long param2)
{        //passabanda!!!! -->  1<param1<25 
timer = 200;  // carico timer = 2 secondi
// se param1 > 25 -> overbanda + se param <1  -> underbanda
if ((param1 >25) || (param1<1))  
    {
      scrivo_errore();    //scrivo "errore" a video
     param2 = 21;         //segnalo errore
    } 		 
else if ((param1<25)&&(param1>1)) buzzer = 1; // sono in "banda" faccio un bip!
return(param2); 	   //trasmetto param2 al main
}

[...main...]
case 5: //controllo
controllo(param1, param2);
if (tasto==x) stato =1;      //torno indietro
if (param2!=21) stato++;  //vado oltre
else break;
La definizione di controllo è sbagliata param2 non verrà mai ritornato al main, hai 2 possibilità:
Codice:
void controllo(long param1, long * param2)
...
//nel main
controllo(param1, &param2);
Codice:
long controllo(long param1)
...
//nel main
param2 = controllo(param1);
io preferisco la seconda
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 13:17   #8
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
Grazie!!!!!!
adesso funziona!!!
ho assegnato il parametro al richiamo della procedura
param2 = controllo(param1, param2);
e tolto l'if all'else usando >=e<=.
grazie mille per l'aiuto!!!
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 13:20   #9
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
figurati
comunque come ti ha fatto vedere tomminno è ancora meglio, non hai bisogno di param2 nella funzione a questo punto.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 14:45   #10
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
provo il nuovo assetto con un solo parametro....
non pensavo che fosse così difficile il passaggio da basso ad alto livello!!!

Ultima modifica di lefermops : 17-06-2009 alle 16:38.
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 17-06-2009, 15:24   #11
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
anche con un solo parametro funziona
grazie milleeeeeeeee!!

ma ho già un secondo problema.... (ettepareva!!)

sto cercando di tarare un sensore (normalissimo ponte resistivo).
ho fatto succedere le videate...
1° ----- (sto aspettando la risposta)
2° quando il converter risponde, visualizzo tranquilla la lettura e salvo il primo valore.
fin qui tutto bene......
ma se cerco di fare la videata col secondo punto di taratura, le prime due videate non funzionano più......

Codice:
case 8: //aspetto che converter sia stabile
if(!conv) //se converter non attivo						
   {
    trattini();	// visualizzo '----' 	
   }
if (tasto==x) stato =1;      //torno indietro
if (param2!=21) stato++;  //vado oltre
else break;     	

case 9: //prendo primo punto calibrazione
vis_conv();                            //visualizzo lettura converter su video
primo_valore = lettura_conv;  //salvo lettura primo punto
if (tasto==x) stato =1;           //torno indietro
//timer = 500;		    // ricarico timer a 5 SECONDI
stato++;		                 // VADO OLTRE
BUZZER=1; 	                 // bippa
break;

case 10:                                    //prendo secondo punto calibrazione             
timer=5000;                             //carico 5 minuti
temp=100;
while (timer)     scaldo();           //porto a temperatura nota 
vis_conv();                               //visualizzo lettura converter su video
secondo_valore = lettura_conv;  //salvo lettura secondo punto
if (tasto==x) stato =1;             //torno indietro
timer = 500;		      // ricarico timer a 5 SECONDI
stato++;		                    // VADO OLTRE
BUZZER=1; 	                   // bippa
break;
il bello è che non riesco ad usare i breakpoint!!! sto imparando sia il C che ad usare il compilatore ma..... mi sa che entrambi mi detestano!!!! ç_ç

Ultima modifica di lefermops : 17-06-2009 alle 16:38.
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2009, 11:33   #12
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
risolto.....^^
ho rifatto tutto da capo!!
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2009, 11:47   #13
malocchio
Senior Member
 
L'Avatar di malocchio
 
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
Ma per curiosità per che cosa stai programmando?
__________________
malocchio è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2009, 11:55   #14
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
sto ri-scrivendo il firmware per una cpu che gestisce un sensore, una stampantina, una tastiera e un display....
il programma in origine è un fw di 32k in assembler intel.... solo che il processore che usavamo è stato obsoletato..... quindi ci è toccato sceglierne un altro.
il mio capo ha scelto il 430 della texas.... che dopo due mesi di remate, comincia anche a piacermi (adesso che funziona!!^^)
poi abbiamo pensato che, visto che avrei comunque dovuto imparare ad usare il nuovo assembler e il nuovo compilatore, era meglio passare al C, per avere una maggiore portabilità.... e non dover rifare sempre i sw ogni 10/15 anni quando il micro viene obsoletato!!!! (ma per me è il primo osbolamento..)
ma finalmente sono contenta!!!! il mio bambino inizia a funzionareeeeeee!!!!
__________________
"Se un giorno le api dovessero scomparire, all'uomo resterebbero soltanto quattro anni di vita" (Einstein)
Leggi e rabbrividisci.... http://www.krissnature.net/article-24864578.html
Le api sono animali tranquilli, che pensano solo ai fatti loro e hanno tanti nemici (vespe, mantidi, formiche, agricoltori che buttano troppi insetticidi).Aiutiamo le api (secondo i nostri mezzi) piantando in giardini e balconi piante mellifere come lauroceraso, lavanda, tiglio, timo, salvia, rosmarino,...

Ultima modifica di lefermops : 20-06-2009 alle 15:47. Motivo: corretto errore di battitura....^^
lefermops è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2009, 12:32   #15
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
che figata. spero di trovare un lavoro come il tuo un giorno
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2009, 15:45   #16
lefermops
Junior Member
 
L'Avatar di lefermops
 
Iscritto dal: Jun 2009
Messaggi: 18
...... anch'io!!! magari anche con uno stipendio!!!
qui i soldi non girano.... e spesso siamo costretti a lavorare gratis.... ma nonostante tutto è bello, e prima o poi la crisi finirà,.... ma con 'sti cinesi che vendono a 1 euro ciò che qui in Italia costa 100, la vedo dura!!
__________________
"Se un giorno le api dovessero scomparire, all'uomo resterebbero soltanto quattro anni di vita" (Einstein)
Leggi e rabbrividisci.... http://www.krissnature.net/article-24864578.html
Le api sono animali tranquilli, che pensano solo ai fatti loro e hanno tanti nemici (vespe, mantidi, formiche, agricoltori che buttano troppi insetticidi).Aiutiamo le api (secondo i nostri mezzi) piantando in giardini e balconi piante mellifere come lauroceraso, lavanda, tiglio, timo, salvia, rosmarino,...
lefermops è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Imagination sfida AMD e NVIDIA? DirectX ...
Mark Zuckerberg sviluppa un assistente A...
Apple fissa il WWDC 2026: dall'8 al 12 g...
Quasi 8 miliardi di dollari per i macchi...
Borderlands 4 vola con la nuova patch 1....
Truffe online e lavoro: per la Corte di ...
Frequenza variabile 1 - 120 Hz, LG porta...
Le 7 offerte TOP Amazon oggi: Apple, un ...
OPPO anticipa l'arrivo di diverse novit&...
Capcom e i limiti dell'uso dell'IA nei v...
La crisi delle memorie arriva anche negl...
4 TV OLED in offerta su Amazon: c'&egrav...
Jensen Huang di NVIDIA parla di DLSS 5: ...
Samsung conferma la data di lancio di nu...
Solo 649€ grazie a un coupon: questa bic...
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: 11:29.


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