walterword Inserita: 22 dicembre 2014 Segnala Inserita: 22 dicembre 2014 grazie Si le schede che fanno giarano il runtime di .NET ce ne sono varie , Netduino ect , il limte e' la ram
accacca Inserita: 22 dicembre 2014 Segnala Inserita: 22 dicembre 2014 Ricordo, fra l'altro, che è possibile caricare sulle schede STM32F4 Discovery il MicroFramework 4.2 - 4.3 della Microsoft per programmare la board in C# tramite Visual Studio. oVVoVe! Scusa ma mi è venuta spontanea! Non è il voler dare adosso a microsoft sempre e comunque ma conoscendo la linea aziendale probabilmente cercheranno di imporre una soluzione personale complicatissima e totalmente incompatibile con il resto del mondo. Spero tanto che microsoft rimanga fuori dal mondo embedded.
walterword Inserita: 22 dicembre 2014 Segnala Inserita: 22 dicembre 2014 si lo spero anche io .....secondo me una soluzione embedded con linux-ubuntu precaricato e' quella della udoo che tra l'altro wrappa anche un arduino due indipendente sulla stessa scheda .....le schede con .net a bordo sono limitata in memoria ram ma possono far girare qualcosa di gia testato , piu o meno , in ambiente ,net .i tempi di risposta poi meglio lasciar perdere , non sono sicuramente idonee per un discorso real time ....
dkmorb Inserita: 22 dicembre 2014 Segnala Inserita: 22 dicembre 2014 (modificato) Mah, e invece il codice dell'MF e' Disponibile su codeplex. Si, i tempi non sono il massimo...la latenza e' Vergognosa. Però, Ragazzi per prototipare e'. Una cannonata. Aggiungete anche il fatto che per caricare l'hex e debbuggare e' veramente Una sciocchezza! E il debbugger di Arduino? Se, invece, e' un discorso di filosofia, va bene Modificato: 22 dicembre 2014 da dkmorb
accacca Inserita: 22 dicembre 2014 Segnala Inserita: 22 dicembre 2014 (modificato) Dici bene dkmorb è una questione di flosofia. Ammetto di aver giudicato senza conoscere e andrò a vedere quello che hai citato Ti racconto solo l'ultima in cui mi sono imbattuto poco tmepo fa leggendo un libro su protocolli SSL e TLS. nel 1994 Netscape Communications lancia SSL versione 2.0 La cosa prende piede e nel 1995 Microsoft forte della sua posizione dominante decide di mettere in campo un protocollo tutto suo per internet explorer e lo chiama PCT (Private Communicatio Technology) E qui viene il bello: PCT è concettualmente e tecnicamente simile a SSL 2.0 e ha un formato compatibile. PCT è rimasto confinato all'intenro di alcuni prodotti Microsoft per SSL sappiamo com'è andata Hanno tentato di imporre la loro versione (del tutto simile all'esistente) anzichè sostenere lo sviluppo di SSL2.0. E anche la penultima: Aggiornamento Win8.1 da Win8 parte lavora qualche ora (giuro qualche ora) poi esce messaggio impossibile completare l'aggiornamento ripristino la configurazione precedente (qualche ora di lavoro) alla fine riavvio rifaccio l'aggiornamento e stavolta funziona, Non ho la certezza ma sospetto che la procedura abbia prima aggiornato alcuni files e solo dopo il riavvio abbia potuto completare l'operazioen di aggiornamento. Da un sistema operativo evoluto mi aspetto che, se necessario, suddivida in fasi l'aggiornamento e mi informi con messaggi chiari di cosa succede Non un qualcosa di oscuro e interminabile...ci è voluto un pomeriggio per riavere il controllo del pc. Modificato: 22 dicembre 2014 da accacca
walterword Inserita: 23 dicembre 2014 Segnala Inserita: 23 dicembre 2014 io uso ancora xp e windows7 pro , non cambio per ora Sto giocando un po con linux ubuntu e devo dire che e' proprio una bella cosa , installi di tutto , driver stampante che con win7 faccio fatica a caricare e configurare (stampante HP che non comprero' mai piu') , in ubuntu il tempo di dire che e' connessa e sei gia in stampa . Credo valga proprio la pena iniziare a considerare linux e u suoi derivati
dkmorb Inserita: 23 dicembre 2014 Segnala Inserita: 23 dicembre 2014 Però stavamo parlando di schede embedded...accacca...non vale! Stiamo derivando... Ho postato anche il link per CocoxIde che usa un fork del gcc per compilare per STM32 ed è anche gratuito;-) Non volevo aizzare flame sul solito argomento "questo sistema operativo è meglio di quello..." o "la Microsoft è la madre di tutti i mali...". E' chiaro che ognuno, se può, usa quello che vuole! Però le tue affermazioni sembrano affermazioni un po' troppo populiste. Se ti riporto un numero N di bug importanti di Linux, cambi SO? Negli anni, ho dedicato troppo tempo a queste discussioni infruttuose. Puoi insultarmi liberamente, ma non scrivo più se non si parla di Arduino et similia.
Livio Orsini Inserita: 23 dicembre 2014 Segnala Inserita: 23 dicembre 2014 io uso ancora xp e windows7 pro , non cambio per ora E fai molto bene! Io sono arrivato alla conclusione che è meglio non utilizzare le versioni pari di Windows quindi attenderò eventualmente Win9 consolidato. Complimenti per il tuo 30, Che esame era? Se ti riporto un numero N di bug importanti di Linux, cambi SO? Anche Linux ha i suoi bei problemi, però è gratuito o quasi ed a caval donato non si guarda in bocca. Quello che infastidisce di MS è l'esagerata protervia, anche se alcune sentenze della magistratura USA hanno un po' calmierato certi eccessi, non perdono occasione per rendersi antipatici. Piuttosto chi sa se Roberto è riuscito ad ottenere il suo temporizzatore?
walterword Inserita: 23 dicembre 2014 Segnala Inserita: 23 dicembre 2014 sistemi operativi =30 Linux ha le pecche come windows e mac però la differenza principale e' che se studi e prendi mano con linux puoi creare un OS ad hoc , mirato per una tale applicazione , con windows e mac e' tutto compilato e non puoi fare nulla , ma solo accettare C'e' una bella differenza tra essere obbligati e tacere ed essere obbligati ma poer parlare e cambiare le cose
roberto8303 Inserita: 24 dicembre 2014 Autore Segnala Inserita: 24 dicembre 2014 (modificato) int cnt1 = 10;void setup() { noInterrupts(); // disable all interrupts TCCR1A = 0; TCCR1B = 0; TCNT1 = 64911; // preload timer TCCR1B |= (1 << CS12); // 256 prescaler TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt interrupts(); // enable all interrupts//........................................................................................... Serial.begin(9600);} ISR(TIMER1_OVF_vect) // interrupt service routine { TCNT1 = 64911; // preload timer per interrupts ogni 10 ms if (cnt1 > 0) { cnt1--; // totalizzatore per 0.5" } else { digitalWrite(13, digitalRead(13) ^ 1); // uscita temporizzata cnt1 = 50; //trascorso 1", ricarico il contaore }} trovato il problema l uscita 13 non era definita con pinMode(13,OUTPUT); e non vedevo sull oscilloscopio l onda quadra sul pin13 ora tutto funziona. E per oggi basta cosi, Buon Natale e buone feste a tutti Modificato: 24 dicembre 2014 da roberto8303
roberto8303 Inserita: 25 dicembre 2014 Autore Segnala Inserita: 25 dicembre 2014 (modificato) int cnt1 = 10; int pulsAnalog=A0; int pulsAnalogValue=0; unsigned long contatore; int fittizio; int tempo; void setup() { tempo=contatore; temporale=contatore; pinMode(13,OUTPUT); pinMode(9,OUTPUT); noInterrupts(); // disable all interrupts TCCR1A = 0; TCCR1B = 0; TCNT1 = 64886; // preload timer TCCR1B |= (1 << CS12); // 256 prescaler TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt interrupts(); // enable all interrupts //........................................................................................... Serial.begin(115200); } ISR(TIMER1_OVF_vect) { // interrupt service routine TCNT1 = 64911; // preload timer per interrupts ogni 10 ms digitalWrite(13, digitalRead(13)^ HIGH); // uscita temporizzata if (cnt1 > 0) { cnt1--; // totalizzatore per 0.1" } else { cnt1 =10; //trascorso 1", ricarico il contaore pulsAnalogValue = digitalRead(pulsAnalog); } unsigned long int segnale=digitalRead(13); if(segnale==1){ contatore++;} } void loop(){ Serial.println(contatore/50);//stampa ogni secondo// tempo=contatore; if (tempo==temporale+1){ digitalWrite(9,HIGH);} if (tempo==temporale+2){ digitalWrite(9,LOW); temporale=contatore;}} Ho modificato il programma di Livio, aggiungendo nel loop un ritardo+1 al contatore di 10ms di base. Quindi un uscita 13 con onda quadra 10ms on/off e un uscita 9 con onda quadra di 10ms+1 on e 10ms+2 off. Perchè nelle prove ho un onda quadra dell uscita 9 di 20ms on/off?nella foto il canale A è l uscita 13, e il canale B è la forma d onda del pin 9 quello nel loop. ancora auguri di Buon Natale http://up.plcwww.com/up/db77856ddb3e4053bb85abdc9166a0d0.jpg Modificato: 25 dicembre 2014 da roberto8303
Livio Orsini Inserita: 26 dicembre 2014 Segnala Inserita: 26 dicembre 2014 unsigned long int segnale=digitalRead(13); if(segnale==1){ contatore++;} } Ti manca un "else" perchè se è alto conti, ma se è basso che fai?
roberto8303 Inserita: 26 dicembre 2014 Autore Segnala Inserita: 26 dicembre 2014 nulla se è basso il contatore non incrementa, se è uno il contatore sale ogni 10ms e cosi funziona. pero non riesco a capire nel loop mi nell uguaglianza, se entrambi i valori sono uguale al contatore la sola differenza è di +1 quindi mi aspettavo un tempo di 1ms, invece mi sa che è di 11ms cioe 10+1ms, ma con il mio oscilloscopio non riesco a vederlo provo ad aumentare il +1 e vedere cosa ottengo...
Livio Orsini Inserita: 26 dicembre 2014 Segnala Inserita: 26 dicembre 2014 contatore -> long tempo -> int quindi qunado fai tempo = contatore fai un casting tagliando tutto una parte della variabile contatore, cosa che sin deve fare. Poi non capisco perchè devi usare una long per leggere un piedino, basta e avanza una int. Dichiara le variabili correttamente in testa al programma così che siano globali, poi unifica le variabili e riprova. La via del software è come la via della spada: lunga, difficile e piena di imprevisti
walterword Inserita: 26 dicembre 2014 Segnala Inserita: 26 dicembre 2014 if ( digitalRead(13)) { // ................... }
Livio Orsini Inserita: 26 dicembre 2014 Segnala Inserita: 26 dicembre 2014 Walter non si da la soluzione, ma ci si fa arrivare passo passo...
walterword Inserita: 26 dicembre 2014 Segnala Inserita: 26 dicembre 2014 (modificato) questa era facile , se non ci arrvia e' meglio che cambia mestiere Non fare anche tu come i tutor ed i professori universitari che quando scrivi loro chiedendo una cosa , da disperato , loro rispondono con altre domande spesso fuori luogo La via della spada , per noi aikidoki della katana ,è praticamente la ricerca continua ed infinita ei nostri limiti , cosa che noi occidentali non capiremo mai Modificato: 26 dicembre 2014 da walterword
Livio Orsini Inserita: 27 dicembre 2014 Segnala Inserita: 27 dicembre 2014 cosa che noi occidentali non capiremo mai Credi? ma se tu stesso, da che ti conosco, sei sempre alla ricerca dei tuoi limiti. (A volte, però, superi i limiti degli altri. )
walterword Inserita: 27 dicembre 2014 Segnala Inserita: 27 dicembre 2014 purtroppo supero i miei limiti che poi invadono quelli degli altri .Ora che sono cintura marrone un po meno ....e quando prenderò la nera ancora meno
roberto8303 Inserita: 27 dicembre 2014 Autore Segnala Inserita: 27 dicembre 2014 (modificato) questa era facile , se non ci arrvia e' meglio che cambia mestiere un mestiere ce l ho gia e non è questo, se proprio non "volessi" arrivare cosa al quanto difficile conoscendomi...posso sempre cambiare forum... Modificato: 27 dicembre 2014 da roberto8303
walterword Inserita: 27 dicembre 2014 Segnala Inserita: 27 dicembre 2014 era una battuta non te la prendere
Livio Orsini Inserita: 27 dicembre 2014 Segnala Inserita: 27 dicembre 2014 Roberto non essere suscettibile, dovresti saberlo che a noi piace scherzare anche quando si fa sul serio. Poi Walter fa sto mestiere da almeno 20 anni e ogni tanto guarda i novellini con un po' di sufficienza, capita a tutti.
roberto8303 Inserita: 27 dicembre 2014 Autore Segnala Inserita: 27 dicembre 2014 si lo so Livio, è che non ho potuto dedicarci molto tempo in questi giorni di festa era una battuta non te la prendere si anche la mia walter Comunque voglio esaminare un problema alla volta, ho semplificato il programma int cnt1 = 20; void setup() { pinMode(13,OUTPUT); pinMode(9,OUTPUT); noInterrupts(); // disable all interrupts TCCR1A = 0; TCCR1B = 0; TCNT1 = 64911; // preload timer TCCR1B |= (1 << CS12); // 256 prescaler TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt interrupts(); // enable all interrupts //........................................................................................... Serial.begin(115200); } ISR(TIMER1_OVF_vect) { // interrupt service routine TCNT1 = 64911; // preload timer per interrupts ogni 10 ms digitalWrite(13, digitalRead(13)^ HIGH); // uscita temporizzata if (cnt1 > 0) { cnt1--; // totalizzatore per 0.1" } else { cnt1 =20; //trascorso 1", ricarico il contaore } if (cnt1>10 && cnt1 <20){ digitalWrite(9,HIGH);} if (cnt1>0 && cnt1<10){ digitalWrite(9,LOW);} } void loop(){ Serial.println(cnt1); } in questo caso ho sul canale pin 13 un onda quadra di 10ms e sul pin 9 un onda quadra di 100ms. Ho il cont1 che va da 20 a 0 per poi ripartire da 20 a0 all infinito.con un interrupt di 10ms, la durata di una sola unità cont1 è quindi di 10ms? o di 1 ms?e perche?sbaglio qualcosa? aspetto i vostri pareri
Livio Orsini Inserita: 27 dicembre 2014 Segnala Inserita: 27 dicembre 2014 digitalWrite(13, digitalRead(13) ^ 1); // uscita temporizzata Questa istruzione legge lo stato del pin13 e lo nega con l'istruzione "^1". Il tic del counter, se ricordo bene, dovrebbe essere ad 1ms, dovrei fare i conti e non ho voglia, fai prima a vederlo direttamente con l'oscilloscopio.
roberto8303 Inserita: 27 dicembre 2014 Autore Segnala Inserita: 27 dicembre 2014 si e con l oscilloscopio ho il pin13 che dura 10ms e il cnt1 da 0-10 100ms on e 10-20 100ms off è questo che non mi spiego. se il cnt1 decrementa di 1, perchè da10a 20 mi ritrovo la durata del pin9 di 100ms? e non di 10ms come mi aspettavo...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora