Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
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


Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
AWS rinnova lo stack dell’IA: Trainium3,...
AWS entra nell'era degli agenti: il keyn...
Roscosmos: inventario a bordo della ISS ...
Arduino viene acquisita da Qualcomm e ca...
Un razzo spaziale Arianespace Vega C ha ...
Terra Next dà il via a Scale-Up P...
Il veicolo riutilizzabile ESA Space Ride...
Un Mousepad per mirare meglio: uno youtu...
Tokyo Electron sotto accusa: Taiwan cont...
L'ESA sta cercando alternative all'utili...
iliad TOP 250 PLUS e TOP 300 PLUS: valan...
FRITZ! a Sicurezza 2025: connessioni WiF...
I 18enni di oggi non fanno più la...
Super offerte Apple: iPhone 16e a 529€ e...
Torres EVT arriva in Italia con listino ...
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: 04:44.


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